Compare commits

...

2 commits

Author SHA1 Message Date
Daniel Bulant
ac9b508f71
small updates 2026-02-21 17:11:58 +01:00
Daniel Bulant
9a8b255305
update, start switching to danklinux 2026-02-17 18:04:28 +01:00
7 changed files with 920 additions and 594 deletions

View file

@ -11,8 +11,14 @@
# env = AQ_DRM_DEVICES,/dev/dri/card1 # env = AQ_DRM_DEVICES,/dev/dri/card1
#env = AQ_NO_MODIFIERS,1 #env = AQ_NO_MODIFIERS,1
monitor=,preferred,auto,1 #monitor=,preferred,auto,1
monitor=eDP-1,1920x1200@60.0,3564x0,1.0,cm,hdr,sdrbrightness,1.4,sdrsaturation,0.8,bitdepth,10
#monitor=eDP-1,1920x1200@60.0,3564x0,1.0,cm,hdr,sdrbrightness,1.4,sdrsaturation,0.8,bitdepth,10
# Generated by nwg-displays on 2026-02-17 at 11:54:19. Do not edit manually.
#monitor=eDP-1,1920x1200@60.0,3564x0,1.0
#monitor=HDMI-A-1,2560x1440@144.0,1004x0,1.0
# env = LIBVA_DRIVER_NAME,nvidia # env = LIBVA_DRIVER_NAME,nvidia
# env = XDG_SESSION_TYPE,wayland # env = XDG_SESSION_TYPE,wayland
@ -29,7 +35,10 @@ cursor {
source = ~/.config/hypr/monitors.conf source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/workspaces.conf source = ~/.config/hypr/workspaces.conf
source = ~/.config/hypr/hyprland.colors.conf #source = ~/.config/hypr/hyprland.colors.conf
monitor=desc:ASUSTek COMPUTER INC VG27AQL5A T7LMQS022027,2560x1440@144.0,0x0,1.0,bitdepth,10
monitor=eDP-1,1920x1200@60.0,2560x0,1.0,bitdepth,10,cm,srgb
debug:disable_logs = false debug:disable_logs = false
@ -78,7 +87,7 @@ exec-once = swww-daemon
# "$(cat ~/.local/state/quickshell/user/generated/wallpaper/path.txt)" # "$(cat ~/.local/state/quickshell/user/generated/wallpaper/path.txt)"
exec-once = sleep 0.5; swww img ~/.config/hypr/wallpapers/sunflowers.jpg --transition-step 100 --transition-fps 120 --transition-type grow --transition-angle 30 --transition-duration 1 exec-once = sleep 0.5; swww img ~/.config/hypr/wallpapers/sunflowers.jpg --transition-step 100 --transition-fps 120 --transition-type grow --transition-angle 30 --transition-duration 1
# exec-once=waybar # exec-once=waybar
exec-once=quickshell -c ii # exec-once=quickshell -c ii
exec-once=blueman-applet exec-once=blueman-applet
# exec-once=dunst # exec-once=dunst
exec-once=udev-block-notify exec-once=udev-block-notify
@ -93,10 +102,12 @@ exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store exec-once = wl-paste --type image --watch cliphist store
exec-once = fcitx5 exec-once = fcitx5
exec-once = easyeffects --gapplication-service exec-once = easyeffects --gapplication-service
exec-once = dms run
#$swaylock = swaylock --screenshots --clock --indicator --effect-blur 6x6 --fade-in 0.2 --ring-color 4e9dc2 --key-hl-color 71b0ce #$swaylock = swaylock --screenshots --clock --indicator --effect-blur 6x6 --fade-in 0.2 --ring-color 4e9dc2 --key-hl-color 71b0ce
$swaylock = hyprlock $swaylock = hyprlock
exec-once=hypridle # exec-once=hypridle
# exec-once=swayidle -w timeout 300 '$swaylock --grace 2' before-sleep '$swaylock' # exec-once=swayidle -w timeout 300 '$swaylock --grace 2' before-sleep '$swaylock'
# Needs repackaging... # Needs repackaging...
@ -285,6 +296,15 @@ layerrule = blur on, match:namespace quickshell:sidebarRight
layerrule = blur_popups on, match:namespace quickshell:sidebarRight layerrule = blur_popups on, match:namespace quickshell:sidebarRight
layerrule = ignore_alpha .2, match:namespace quickshell:sidebarRight layerrule = ignore_alpha .2, match:namespace quickshell:sidebarRight
layerrule {
name="blur dms"
match:namespace = dms:(color-picker|clipboard|spotlight|settings)
blur = on
ignore_alpha = 0
}
# layerrule = noanim, match:namespace ^(dms)$
blurls=gtk-layer-shell blurls=gtk-layer-shell
blurls=lockscreen blurls=lockscreen
blurls = rofi blurls = rofi
@ -292,17 +312,20 @@ blurls = rofi
$dir = ~/.config $dir = ~/.config
#! quickshell #! quickshell
bindr = SUPER+ALT, R, exec, pkill rofi || $dir/rofi/bin/launcher bindr = SUPER+ALT, R, exec, pkill rofi || $dir/rofi/bin/launcher
bind = SUPER, r, global, quickshell:overviewSearchToggle # bind = SUPER, r, global, quickshell:overviewSearchToggle
# bind = SUPER, r, exec, dms ipc call spotlight toggle
bind = SUPER+ALT, P, exec, pkill rofi || $dir/rofi/bin/powermenu bind = SUPER+ALT, P, exec, pkill rofi || $dir/rofi/bin/powermenu
bind = SUPER, p, global, quickshell:sessionToggle # bind = SUPER, p, exec, dms ipc call powermenu open
bind = SUPER, m, global, quickshell:mediaControlsToggle # bind = SUPER, tab, exec, dms ipc call hypr toggleOverview
bind = SUPER, grave, global, quickshell:sidebarLeftToggle # bind = SUPER, p, global, quickshell:sessionToggle
bind = SUPER, b, global, quickshell:sidebarRightToggle # bind = SUPER, m, global, quickshell:mediaControlsToggle
bind = SUPER, slash, global, quickshell:cheatsheetToggle # bind = SUPER, grave, global, quickshell:sidebarLeftToggle
bind = SUPER, tab, global, quickshell:overviewToggle # bind = SUPER, b, global, quickshell:sidebarRightToggle
bindrt = SUPER, SUPER_L, global, quickshell:workspaceNumber # bind = SUPER, slash, global, quickshell:cheatsheetToggle
bindd = Super, h, Clipboard history >> clipboard, global, quickshell:overviewClipboardToggle # Clipboard history >> clipboard # bind = SUPER, tab, global, quickshell:overviewToggle
bindd = Super, Period, Emoji >> clipboard, global, quickshell:overviewEmojiToggle # Emoji >> clipboard # bindrt = SUPER, SUPER_L, global, quickshell:workspaceNumber
# bindd = Super, h, Clipboard history >> clipboard, global, quickshell:overviewClipboardToggle # Clipboard history >> clipboard
# bindd = Super, Period, Emoji >> clipboard, global, quickshell:overviewEmojiToggle # Emoji >> clipboard
$mainMod = SUPER $mainMod = SUPER
@ -389,7 +412,7 @@ bind = ,Print,exec,hyprshot --clipboard-only --mode active --mode output
# bind = SUPER+SHIFT,S,exec,spectacle --copy-image --region --background # no gui # bind = SUPER+SHIFT,S,exec,spectacle --copy-image --region --background # no gui
# bind = SUPER+SHIFT,S,exec,grim -g "$(slurp)" - | wl-copy # bind = SUPER+SHIFT,S,exec,grim -g "$(slurp)" - | wl-copy
bind = SUPER+SHIFT,S,exec,hyprshot --freeze --clipboard-only --mode region bind = SUPER+SHIFT,S,exec,hyprshot --freeze --clipboard-only --mode region
bind = SUPER, L,exec,$swaylock # bind = SUPER, L,exec,$swaylock
#! move windows to workspaces #! move windows to workspaces
bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 1, movetoworkspace, 1
@ -457,3 +480,8 @@ decoration {
#windowrule = monitor 1,title:flameshot #windowrule = monitor 1,title:flameshot
#windowrule = move 0 0,title:flameshot #windowrule = move 0 0,title:flameshot
#windowrule = noanim,title:flameshot #windowrule = noanim,title:flameshot
#enable once dms fixes config; uses old hyprland syntax
source = ~/.config/hypr/dms/colors.conf
source = ~/.config/hypr/dms/binds.conf
source = ~/.config/hypr/dms/layout.conf

View file

@ -1,35 +1,42 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, /*hyprland,*/ options, /*hyprland-plugins, */nixpkgs-unstable, lib, nixos-hardware, zen-browser/*, kwin-effects-forceblur*/, ... }: {
config,
pkgs,
options,
nixpkgs-unstable,
lib,
dms,
...
}:
let let
unstable-pkgs = nixpkgs-unstable.legacyPackages.x86_64-linux; #import nixpkgs-unstable.nixosModules.readOnlyPkgs {}; unstable-pkgs = nixpkgs-unstable.legacyPackages.x86_64-linux; # import nixpkgs-unstable.nixosModules.readOnlyPkgs {};
# unstable-pkgs = hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}; # unstable-pkgs = hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in in
{ {
imports = imports = [
[ # nixos-hardware.nixosModules.lenovo-legion-16ach6h-hybrid # this is borked in latest update for some reason, edid doesn't build
# nixos-hardware.nixosModules.lenovo-legion-16ach6h-hybrid # this is borked in latest update for some reason, edid doesn't build # nixos-hardware.nixosModules.common-cpu-amd
# nixos-hardware.nixosModules.common-cpu-amd # nixos-hardware.nixosModules.common-cpu-amd-pstate
# nixos-hardware.nixosModules.common-cpu-amd-pstate # nixos-hardware.nixosModules.common-cpu-amd-zenpower
# nixos-hardware.nixosModules.common-cpu-amd-zenpower # nixos-hardware.nixosModules.common-gpu-amd
# nixos-hardware.nixosModules.common-gpu-amd # nixos-hardware.nixosModules.common-gpu-nvidia
# nixos-hardware.nixosModules.common-gpu-nvidia # nixos-hardware.nixosModules.common-pc-laptop
# nixos-hardware.nixosModules.common-pc-laptop # nixos-hardware.nixosModules.common-pc-laptop-ssd
# nixos-hardware.nixosModules.common-pc-laptop-ssd ./hardware-configuration.nix
./hardware-configuration.nix dms.nixosModules.greeter
# /etc/nixos/cachix.nix # /etc/nixos/cachix.nix
]; ];
# nyx.low-power.enable = true; # nyx.low-power.enable = true;
hardware.nvidia.dynamicBoost.enable = lib.mkForce false; hardware.nvidia.dynamicBoost.enable = lib.mkForce false;
nixpkgs.config.permittedInsecurePackages = [ nixpkgs.config.permittedInsecurePackages = [
"olm-3.2.16" "olm-3.2.16"
"cinny-unwrapped-4.2.3" "cinny-unwrapped-4.2.3"
"cinny-4.2.3" "cinny-4.2.3"
"libsoup-2.74.3" "libsoup-2.74.3"
# "qbittorrent-4.6.4" # "qbittorrent-4.6.4"
# "cinny-3.2.0" # "cinny-3.2.0"
"dotnet-sdk-wrapped-7.0.410" "dotnet-sdk-wrapped-7.0.410"
@ -40,7 +47,6 @@ in
"electron-33.4.11" "electron-33.4.11"
]; ];
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.supportedFilesystems = [ "ntfs" ]; boot.supportedFilesystems = [ "ntfs" ];
@ -76,10 +82,13 @@ in
# networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# networking.nameservers = ["1.1.1.1"]; # networking.nameservers = ["1.1.1.1"];
services.dnsmasq.settings.server = [ "100.100.100.100" "127.0.0.1#5053" ]; services.dnsmasq.settings.server = [
"100.100.100.100"
"127.0.0.1#5053"
];
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
networking.networkmanager.plugins = with pkgs; [networkmanager-openconnect]; networking.networkmanager.plugins = with pkgs; [ networkmanager-openconnect ];
networking.networkmanager.dns = "none"; networking.networkmanager.dns = "none";
services.dnscrypt-proxy = { services.dnscrypt-proxy = {
@ -95,9 +104,9 @@ in
cache_file = "/var/lib/dnscrypt-proxy/public-resolvers.md"; cache_file = "/var/lib/dnscrypt-proxy/public-resolvers.md";
}; };
listen_addresses = ["127.0.0.1:5053"]; listen_addresses = [ "127.0.0.1:5053" ];
ipv6_servers = false; ipv6_servers = false;
block_ipv6 = ! (false); block_ipv6 = !(false);
require_dnssec = true; require_dnssec = true;
require_nolog = false; require_nolog = false;
@ -125,9 +134,9 @@ in
services.dnsmasq.enable = true; services.dnsmasq.enable = true;
services.displayManager.sddm.enable = true; services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true; services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6 = { services.desktopManager.plasma6 = {
enable = true; enable = true;
}; };
# services.desktopManager.gnome.enable = true; # services.desktopManager.gnome.enable = true;
services.xserver = { services.xserver = {
enable = false; enable = false;
@ -148,12 +157,14 @@ in
alsa.support32Bit = true; alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
}; };
security.pam.loginLimits = [{ security.pam.loginLimits = [
domain = "*"; {
type = "soft"; domain = "*";
item = "nofile"; type = "soft";
value = "64000"; item = "nofile";
}]; value = "64000";
}
];
services.geoclue2.enable = true; services.geoclue2.enable = true;
services.localtimed.enable = true; services.localtimed.enable = true;
services.lorri.enable = true; services.lorri.enable = true;
@ -171,14 +182,32 @@ in
users.users.dan = { users.users.dan = {
isNormalUser = true; isNormalUser = true;
description = "John"; description = "Dan";
extraGroups = [ "networkmanager" "wheel" "docker" "fuse" "video" "wireshark" "gamemode" "scanner" "lp" "kvm" "adbusers" "dialout"]; extraGroups = [
"i2c"
"networkmanager"
"wheel"
"docker"
"fuse"
"video"
"wireshark"
"gamemode"
"scanner"
"lp"
"kvm"
"adbusers"
"dialout"
];
shell = pkgs.fish; shell = pkgs.fish;
packages = with pkgs; [ packages = with pkgs; [
kdePackages.kate kdePackages.kate
]; ];
}; };
nix.settings.trusted-users = [ "root" "@wheel" "dan" ]; nix.settings.trusted-users = [
"root"
"@wheel"
"dan"
];
# Other defaults are set in home.nix # Other defaults are set in home.nix
# environment.sessionVariables.DEFAULT_BROWSER = "firefox"; # environment.sessionVariables.DEFAULT_BROWSER = "firefox";
@ -200,11 +229,11 @@ in
"cache.flakehub.com-3:hJuILl5sVK4iKm86JzgdXW12Y2Hwd5G07qKtHTOcDCM=" "cache.flakehub.com-3:hJuILl5sVK4iKm86JzgdXW12Y2Hwd5G07qKtHTOcDCM="
]; ];
}; };
# Comment out below for the first time to avoid cache miss, if using flake # Comment out below for the first time to avoid cache miss, if using flake
programs.hyprland = { programs.hyprland = {
enable = true; enable = true;
# package = hyprland.packages.${pkgs.system}.hyprland; # package = hyprland.packages.${pkgs.system}.hyprland;
# portalPackage = hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland.override # portalPackage = hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland.override
# { # {
# inherit (pkgs) mesa; # inherit (pkgs) mesa;
@ -213,9 +242,16 @@ in
# package = unstable-pkgs.hyprland; # package = unstable-pkgs.hyprland;
}; };
# End comment out # End comment out
#
programs.dank-material-shell.greeter = {
enable = true;
compositor.name = "hyprland"; # Or "hyprland" or "sway"
configHome = "/home/dan";
};
#xdg.configFile."menus/applications.menu".text = builtins.readFile ./applications.menu; #xdg.configFile."menus/applications.menu".text = builtins.readFile ./applications.menu;
environment.etc."/xdg/menus/plasma-applications.menu".text = builtins.readFile "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu"; environment.etc."/xdg/menus/plasma-applications.menu".text =
builtins.readFile "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu";
# programs.hyprland.enable = true; # programs.hyprland.enable = true;
programs.hyprlock.enable = true; programs.hyprlock.enable = true;
@ -225,14 +261,17 @@ in
# Fix dynamic binaries from outside of nix # Fix dynamic binaries from outside of nix
programs.nix-ld = { programs.nix-ld = {
enable = true; enable = true;
libraries = options.programs.nix-ld.libraries.default ++ (with pkgs; [ libraries =
libdrm options.programs.nix-ld.libraries.default
mesa ++ (with pkgs; [
libxkbcommon libdrm
openssl mesa
libGL libva libxkbcommon
libelf openssl
]); libGL
libva
libelf
]);
}; };
services.openssh.enable = true; services.openssh.enable = true;
services.tailscale = { services.tailscale = {
@ -245,7 +284,7 @@ in
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
enableOnBoot = false; enableOnBoot = false;
# enableNvidia = true; # enableNvidia = true;
}; };
# hardware.nvidia-container-toolkit.enable = true; # hardware.nvidia-container-toolkit.enable = true;
services.avahi.enable = true; services.avahi.enable = true;
@ -263,26 +302,26 @@ in
# Visuals # Visuals
plymouth = { plymouth = {
enable = false; enable = false;
theme = "deus_ex"; # motion is also cool theme = "deus_ex"; # motion is also cool
themePackages = with pkgs; [ themePackages = with pkgs; [
(adi1090x-plymouth-themes.override { (adi1090x-plymouth-themes.override {
selected_themes = [ "deus_ex" ]; selected_themes = [ "deus_ex" ];
}) })
]; ];
}; };
kernelParams = [ kernelParams = [
# attempt to fix nvidia perf # attempt to fix nvidia perf
#"nvidia_drm.fbdev=1" "nvidia_drm.modeset=1" "module_blacklist=i915" #"nvidia_drm.fbdev=1" "nvidia_drm.modeset=1" "module_blacklist=i915"
"delayacct" "delayacct"
"initcall_blacklist=sysfb_init" "initcall_blacklist=sysfb_init"
#"quiet" #"quiet"
#"splash" #"splash"
"boot.shell_on_fail" "boot.shell_on_fail"
"loglevel=3" "loglevel=3"
"rd.systemd.show_status=false" "rd.systemd.show_status=false"
"rd.udev.log_level=3" "rd.udev.log_level=3"
"udev.log_priority=3" "udev.log_priority=3"
]; ];
# Removing support for unneeded stuff # Removing support for unneeded stuff
@ -315,13 +354,12 @@ in
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git git
# nvtopPackages.full # nvtopPackages.full
btop btop
lshw lshw
hyprpolkitagent hyprpolkitagent
# lenovo-legion # lenovo-legion
# required for quickshell config; needs to be here for them to be included in import/plugin path # required for quickshell config; needs to be here for them to be included in import/plugin path
kdePackages.qt5compat kdePackages.qt5compat
@ -338,77 +376,82 @@ in
libsForQt5.kirigami2 libsForQt5.kirigami2
kdePackages.syntax-highlighting kdePackages.syntax-highlighting
(python313.withPackages(ps: with ps; [ (python313.withPackages (
build ps: with ps; [
pillow build
cffi pillow
libsass cffi
material-color-utilities libsass
materialyoucolor material-color-utilities
numpy materialyoucolor
packaging numpy
pillow packaging
psutil pillow
pycparser psutil
pyproject-hooks pycparser
pywayland pyproject-hooks
setproctitle pywayland
setuptools setproctitle
setuptools-scm setuptools
wheel setuptools-scm
wheel
pwntools pwntools
])) ]
))
]; ];
environment.variables = let environment.variables =
qtVersions = with pkgs; [ let
qt5 qtVersions = with pkgs; [
qt6 qt5
]; qt6
in ];
{ in
QT_PLUGIN_PATH = map (qt: "/${qt.qtbase.qtPluginPrefix}") qtVersions; {
QML2_IMPORT_PATH = map (qt: "/${qt.qtbase.qtQmlPrefix}") qtVersions ++ (with unstable-pkgs; [ QT_PLUGIN_PATH = map (qt: "/${qt.qtbase.qtPluginPrefix}") qtVersions;
QML2_IMPORT_PATH =
map (qt: "/${qt.qtbase.qtQmlPrefix}") qtVersions
++ (with unstable-pkgs; [
"${quickshell}/lib/qt-6/qml/" "${quickshell}/lib/qt-6/qml/"
]); ]);
}; };
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nixpkgs.config.cudaSupport = true; nixpkgs.config.cudaSupport = true;
# The nvidia fun part # The nvidia fun part
hardware.graphics = { hardware.graphics = {
enable = true; enable = true;
# package = unstable-pkgs.mesa.drivers; # package = unstable-pkgs.mesa.drivers;
# Steam support # Steam support
enable32Bit = true; enable32Bit = true;
# package32 = unstable-pkgs.pkgsi686Linux.mesa.drivers; # package32 = unstable-pkgs.pkgsi686Linux.mesa.drivers;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
# Required for modern Intel GPUs (Xe iGPU and ARC) # Required for modern Intel GPUs (Xe iGPU and ARC)
intel-media-driver # VA-API (iHD) userspace intel-media-driver # VA-API (iHD) userspace
vpl-gpu-rt # oneVPL (QSV) runtime vpl-gpu-rt # oneVPL (QSV) runtime
# Optional (compute / tooling): # Optional (compute / tooling):
intel-compute-runtime # OpenCL (NEO) + Level Zero for Arc/Xe intel-compute-runtime # OpenCL (NEO) + Level Zero for Arc/Xe
# libvdpau-va-gl # libvdpau-va-gl
# nvidia-vaapi-driver # nvidia-vaapi-driver
]; ];
}; };
environment.sessionVariables = { environment.sessionVariables = {
LIBVA_DRIVER_NAME = "iHD"; LIBVA_DRIVER_NAME = "iHD";
}; };
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
#boot.kernelModules = ["amdgpu" "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" "lenovo-legion-module"]; #boot.kernelModules = ["amdgpu" "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" "lenovo-legion-module"];
#hardware.nvidia = { #hardware.nvidia = {
# open = false; # open = false;
# modesetting.enable = true; # modesetting.enable = true;
# powerManagement.enable = true; # powerManagement.enable = true;
# nvidiaSettings = true; # nvidiaSettings = true;
# prime = { # prime = {
# hardware specific, beware! # hardware specific, beware!
# amdgpuBusId = lib.mkForce "PCI:06:00:0"; # amdgpuBusId = lib.mkForce "PCI:06:00:0";
# nvidiaBusId = lib.mkForce "PCI:01:00:0"; # nvidiaBusId = lib.mkForce "PCI:01:00:0";
# }; # };
@ -417,12 +460,14 @@ in
services.cpupower-gui.enable = true; services.cpupower-gui.enable = true;
services.upower.enable = true; services.upower.enable = true;
services.power-profiles-daemon.enable = false; services.power-profiles-daemon.enable = false;
services.tlp = { # services.tlp = {
enable = true; # enable = true;
# USB_DENYLIST = "04d9:a0b8"; # USB_DENYLIST = "04d9:a0b8";
}; # };
# powerManagement.powertop.enable = true; powerManagement.enable = true;
# powerManagement.cpuFreqGovernor = "powersave"; powerManagement.powertop.enable = true;
powerManagement.cpuFreqGovernor = "schedutil";
services.thermald.enable = true;
security.polkit.enable = true; security.polkit.enable = true;
@ -446,14 +491,15 @@ in
networking.firewall.allowedUDPPorts = [ networking.firewall.allowedUDPPorts = [
5353 # Google cast discovery 5353 # Google cast discovery
42000 # warpinator 42000 # warpinator
42001 # warpinator 42001 # warpinator
67 68 # dhcp 67
68 # dhcp
1716 # kdeconnect 1716 # kdeconnect
]; ];
# Or disable the firewall altogether. # Or disable the firewall altogether.
networking.firewall.enable = false; networking.firewall.enable = false;
hardware.wooting.enable = true; hardware.wooting.enable = true;
services.syncthing = { services.syncthing = {
enable = true; enable = true;
openDefaultPorts = true; openDefaultPorts = true;
@ -461,7 +507,6 @@ in
services.lldpd.enable = true; services.lldpd.enable = true;
systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true"; systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true";
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave # on your system were taken. Its perfectly fine and recommended to leave
@ -470,9 +515,11 @@ in
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.11"; # Did you read the comment? system.stateVersion = "25.11"; # Did you read the comment?
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = [
"nix-command"
"flakes"
];
# /etc/hosts :) # /etc/hosts :)
networking.extraHosts = '' networking.extraHosts = "";
'';
} }

View file

@ -1,8 +1,7 @@
echo "Copying configurations" echo "Copying configurations"
cp .config/* ~/.config/ -r cp .config/* ~/.config/ -r
echo fixing quickshell copy echo fixing quickshell copy
rm -r ~/.config/quickshell rm -r ~/.config/quickshell
cp dots-hyprland/.config/quickshell ~/.config/quickshell -r cp dots-hyprland/.config/quickshell ~/.config/quickshell -r
cp .default-python-packages ~ cp .default-python-packages ~
cp .oh-my-posh.nu ~ cp .oh-my-posh.nu ~

View file

@ -78,6 +78,26 @@
"type": "github" "type": "github"
} }
}, },
"danksearch": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1771177088,
"narHash": "sha256-n6e4e0iHNwtdGOlkJlDR9lbFhYalLMuqeQ3jDfp1CaA=",
"owner": "AvengeMedia",
"repo": "danksearch",
"rev": "3b3b79514acf349c166ae53db2225470a28be9e6",
"type": "github"
},
"original": {
"owner": "AvengeMedia",
"repo": "danksearch",
"type": "github"
}
},
"determinate": { "determinate": {
"inputs": { "inputs": {
"determinate-nixd-aarch64-darwin": "determinate-nixd-aarch64-darwin", "determinate-nixd-aarch64-darwin": "determinate-nixd-aarch64-darwin",
@ -135,6 +155,28 @@
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.16.0/x86_64-linux" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.16.0/x86_64-linux"
} }
}, },
"dms": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"quickshell": "quickshell"
},
"locked": {
"lastModified": 1771347696,
"narHash": "sha256-O9NIJqfuSjwY//7OyFH3FqxRHe5M0vmmsXcryOi/bAE=",
"owner": "AvengeMedia",
"repo": "DankMaterialShell",
"rev": "dd4c41a6b2d90f3238f543d1cc54f5f062d685a6",
"type": "github"
},
"original": {
"owner": "AvengeMedia",
"ref": "stable",
"repo": "DankMaterialShell",
"type": "github"
}
},
"dolphin-overlay": { "dolphin-overlay": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_5"
@ -327,11 +369,11 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1770919951, "lastModified": 1771325388,
"narHash": "sha256-f8e4IoLZY0xh/eFt99nKizyQxUKr0atmc21lGLkp9io=", "narHash": "sha256-rSSr7h/qbRwxEtcIUe3UlSvbQxPJ4eYI9J84ewGz60o=",
"owner": "schembriaiden", "owner": "schembriaiden",
"repo": "helium-browser-nix-flake", "repo": "helium-browser-nix-flake",
"rev": "9a6ce68bcf28366de6240ed9e37786d476c203fe", "rev": "99d0cecff6778a71be1f2e325e0e645fd749a397",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -758,6 +800,64 @@
"type": "github" "type": "github"
} }
}, },
"niri": {
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable",
"xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1771308899,
"narHash": "sha256-kb/4oSHB261GOLhVGgrzTOqo/ImeCi/WS25q2ujtHGc=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "f3e98ba073bd7e2717a07d622f9b737c461a97b9",
"type": "github"
},
"original": {
"owner": "sodiboo",
"repo": "niri-flake",
"type": "github"
}
},
"niri-stable": {
"flake": false,
"locked": {
"lastModified": 1756556321,
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v25.08",
"repo": "niri",
"type": "github"
}
},
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1771305475,
"narHash": "sha256-lqweVTwHhYc+9T33cysp38gVwxaibGJHriOPZXWyhCY=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "a2a52911757cb3b497db9407592f9b4c439571ea",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"repo": "niri",
"type": "github"
}
},
"nix": { "nix": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
@ -785,11 +885,11 @@
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_7"
}, },
"locked": { "locked": {
"lastModified": 1771123156, "lastModified": 1771295873,
"narHash": "sha256-Px1IFFTw3zdP8RNram2g41EvUTjIZRDLCgZyXgpBty0=", "narHash": "sha256-BbzfAGRrEgvSn5p1k8G3FtBNte50JQ+YiBmy/zC/3NE=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "0c4bf3ac4eaf5b693e5d7ae75f3caba8fcf15d8f", "rev": "d39046b43da919faf235170f9cb321712468f907",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -917,6 +1017,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable": {
"locked": {
"lastModified": 1771208521,
"narHash": "sha256-X01Q3DgSpjeBpapoGA4rzKOn25qdKxbPnxHeMLNoHTU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fa56d7d6de78f5a7f997b0ea2bc6efd5868ad9e8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1771008912, "lastModified": 1771008912,
@ -1079,15 +1195,40 @@
"type": "github" "type": "github"
} }
}, },
"quickshell": {
"inputs": {
"nixpkgs": [
"dms",
"nixpkgs"
]
},
"locked": {
"lastModified": 1766725085,
"narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=",
"ref": "refs/heads/master",
"rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff",
"revCount": 715,
"type": "git",
"url": "https://git.outfoxxed.me/quickshell/quickshell"
},
"original": {
"rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff",
"type": "git",
"url": "https://git.outfoxxed.me/quickshell/quickshell"
}
},
"root": { "root": {
"inputs": { "inputs": {
"colmena": "colmena", "colmena": "colmena",
"copyparty": "copyparty", "copyparty": "copyparty",
"danksearch": "danksearch",
"determinate": "determinate", "determinate": "determinate",
"dms": "dms",
"dolphin-overlay": "dolphin-overlay", "dolphin-overlay": "dolphin-overlay",
"helium": "helium", "helium": "helium",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland-plugins": "hyprland-plugins", "hyprland-plugins": "hyprland-plugins",
"niri": "niri",
"nix-gaming": "nix-gaming", "nix-gaming": "nix-gaming",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
@ -1207,17 +1348,50 @@
"type": "github" "type": "github"
} }
}, },
"xwayland-satellite-stable": {
"flake": false,
"locked": {
"lastModified": 1755491097,
"narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "388d291e82ffbc73be18169d39470f340707edaa",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"ref": "v0.7",
"repo": "xwayland-satellite",
"type": "github"
}
},
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1771195969,
"narHash": "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "536bd32efc935bf876d6de385ec18a1b715c9358",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"type": "github"
}
},
"zen-browser": { "zen-browser": {
"inputs": { "inputs": {
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1771269662, "lastModified": 1771303996,
"narHash": "sha256-hOElvRG8mOCmYc9vhZOqnccqIJRoD6VR6vXOOj0attk=", "narHash": "sha256-cwf75uTx8cGJCP+nohi7iVTE+lmfevBxNgirkMLkuEY=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "9294a1e30995dc950e2632296a74baae25252473", "rev": "a7659a805bda3ae8e4861572d8dc0f1d29f3fc3c",
"type": "github" "type": "github"
}, },
"original": { "original": {

137
flake.nix
View file

@ -1,9 +1,21 @@
{ {
inputs = { inputs = {
dms = {
url = "github:AvengeMedia/DankMaterialShell/stable";
inputs.nixpkgs.follows = "nixpkgs";
};
danksearch = {
url = "github:AvengeMedia/danksearch";
inputs.nixpkgs.follows = "nixpkgs";
};
niri = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
#nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; #nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
helium = { helium = {
url = "github:schembriaiden/helium-browser-nix-flake"; url = "github:schembriaiden/helium-browser-nix-flake";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
@ -37,60 +49,77 @@
copyparty.url = "github:9001/copyparty"; copyparty.url = "github:9001/copyparty";
}; };
outputs = { nixpkgs, determinate, colmena, helium, zen-browser, dolphin-overlay, hyprland-plugins, home-manager, nixpkgs-unstable, nix-gaming, nix-index-database, ... }@attrs: { outputs =
nixosConfigurations.aura = nixpkgs.lib.nixosSystem { {
system = "x86_64-linux"; nixpkgs,
specialArgs = attrs; determinate,
modules = [ colmena,
{ helium,
nixpkgs.overlays = [ zen-browser,
# dolphin-overlay.overlays.default dolphin-overlay,
(_: prev: { hyprland-plugins,
tailscale = prev.tailscale.overrideAttrs (old: { home-manager,
checkFlags = nixpkgs-unstable,
builtins.map ( nix-gaming,
flag: nix-index-database,
if prev.lib.hasPrefix "-skip=" flag dms,
then flag + "|^TestGetList$|^TestIgnoreLocallyBoundPorts$|^TestPoller$" ...
else flag }@attrs:
) {
old.checkFlags; nixosConfigurations.aura = nixpkgs.lib.nixosSystem {
}); system = "x86_64-linux";
})
];
}
determinate.nixosModules.default
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.dan = (import ./home.nix) { inherit helium colmena zen-browser nixpkgs-unstable nix-gaming hyprland-plugins; };
home-manager.backupFileExtension = "backup";
}
./configuration.nix
nix-index-database.nixosModules.nix-index
{ programs.nix-index-database.comma.enable = true; }
#./powersave.nix
];
};
nixosConfigurations.eisen = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = attrs;
modules = [
./servers/eisen/configuration.nix
];
};
colmenaHive = colmena.lib.makeHive {
meta = {
nixpkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [];
};
specialArgs = attrs; specialArgs = attrs;
modules = [
{
nixpkgs.overlays = [
# dolphin-overlay.overlays.default
(_: prev: {
tailscale = prev.tailscale.overrideAttrs (old: {
checkFlags = builtins.map (
flag:
if prev.lib.hasPrefix "-skip=" flag then
flag + "|^TestGetList$|^TestIgnoreLocallyBoundPorts$|^TestPoller$"
else
flag
) old.checkFlags;
});
})
];
}
determinate.nixosModules.default
home-manager.nixosModules.home-manager
{
home-manager.extraSpecialArgs = attrs;
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.dan = import ./home.nix;
home-manager.backupFileExtension = "backup";
}
./configuration.nix
nix-index-database.nixosModules.nix-index
{ programs.nix-index-database.comma.enable = true; }
#./powersave.nix
];
}; };
eisen = import ./servers/eisen/configuration.nix; nixosConfigurations.eisen = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = attrs;
modules = [
./servers/eisen/configuration.nix
];
};
colmenaHive = colmena.lib.makeHive {
meta = {
nixpkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [ ];
};
specialArgs = attrs;
};
eisen = import ./servers/eisen/configuration.nix;
};
}; };
};
} }

822
home.nix
View file

@ -1,396 +1,444 @@
{ helium, colmena, zen-browser, nix-gaming, nixpkgs-unstable, /* suyu, */hyprland-plugins/*, hyprland*/, ... }: {
{ pkgs, inputs, ...}: helium,
colmena,
dms,
zen-browser,
nix-gaming,
nixpkgs-unstable, # suyu,
hyprland-plugins, # , hyprland
pkgs,
danksearch,
niri,
inputs,
...
}:
let let
unstable = import nixpkgs-unstable { unstable = import nixpkgs-unstable {
system = pkgs.system; system = pkgs.system;
config = { config = {
allowUnfree = true; allowUnfree = true;
};
};
# system = stdenv.hostPlatform.system;
in
{
imports = [
zen-browser.homeModules.beta
dms.homeModules.dank-material-shell
danksearch.homeModules.default
# niri.homeManagerModules.default
# dms.homeModules.niri
];
home = {
stateVersion = "25.11";
packages = with pkgs; [
bun
lenovo-legion
itch
filezilla
nicotine-plus
protonvpn-gui
dgop
mysql-workbench
i2c-tools
kdePackages.kimageformats
power-profiles-daemon
tail-tray
steam
helium
opencode
linuxKernel.packages.linux_6_12.perf
obs-studio
flamegraph
samply
font-awesome
arduino-ide
libxkbfile
# dioxus-cli
cosmic-files
cosmic-player
cosmic-screenshot
cosmic-applibrary
cosmic-ext-calculator
cosmic-icons
examine
flix
postgresql
upower
usbutils
killall
powertop
pgadmin4-desktopmode
thunderbird-bin
logisim-evolution
typst
typstyle
typstwriter
colmena.defaultPackage.${system}
usbimager
bitwarden-desktop
metasploit
lenovo-legion
burpsuite
zap
kubernetes-helm
# required by quickshell config
# unstable.quickshell
wlogout
fuzzel
translate-shell
hyprpicker
hypridle
hyprland-qtutils
hyprwayland-scanner
hyprcursor
material-symbols
cava
cliphist
matugen
swww
kdePackages.fcitx5-with-addons
easyeffects
mpvpaper
uv
hyprshot
libsecret
hyprls
ddcutil
brightnessctl
libqalculate
# cloud things
minikube
nebula
nixpkgs-unstable.legacyPackages.${system}.jet-pilot
k9s
prismlauncher
lf
rawtherapee
syncthingtray
anki-bin
xournalpp
simple-scan
godot_4
#rar
wootility
#surrealdb
pico-sdk
elf2uf2-rs
obsidian
betaflight-configurator
home-manager
#glxinfo
pciutils
nix-top
grc
onefetch
inter
fira
fira-code
# fira-code-nerdfont
nerd-fonts.fira-code
iosevka
kitty
#rofi-wayland
rofi
discord
vesktop
spotify
spicetify-cli
meslo-lgs-nf
waybar
chromium
#dunst
sccache
swaybg
activitywatch
networkmanagerapplet
kubectl
duf
dust
#jetbrains.webstorm
#jetbrains.clion
#jetbrains.datagrip
# jetbrains.rider
#jetbrains.idea-ultimate
jre_minimal
datovka
nwg-displays
wireguard-tools
mongodb-compass
unstable.mongodb-tools
#hashcat
tldr
#dunst
grim
slurp
wl-clipboard
nextcloud-client
kdePackages.filelight
kdePackages.kate
kdePackages.ksystemstats
kdePackages.kinfocenter
kdePackages.kirigami-addons
kdePackages.ark
kdePackages.qtdeclarative
kdePackages.dolphin
cachix
playerctl
libcanberra-gtk3 # sound events
#qt6ct
nil # nix language server
nix-output-monitor
expect
nh
udev-block-notify
appimage-run
mpv
heroic
heaptrack
#cinny-desktop
gping
gparted
valgrind
caddy
jq
htmlq
fzf
gleam
erlang
terraform
nodejs
#corepack
ansible
aria2
qbittorrent
audacity
bettercap
duperemove
ffmpeg
flameshot
ripgrep
iotop
nethogs
john
iperf
mold
nheko
quickemu
qemu
socat
websocat
whois
#wifite2
dig
httpie
inxi
numbat
wireshark
nixfmt
qpwgraph
nixpkgs-unstable.legacyPackages.${system}.zed-editor
nixpkgs-unstable.legacyPackages.${system}.pineflash
unstable.nosql-booster
android-tools
hyperfine
scc
aircrack-ng
strace
ghidra
ffuf
sqlmap
nmap
rustscan
thc-hydra
file
binwalk
p7zip
foremost
gdb
feroxbuster
python312Packages.pypykatz
screen
openvpn
#ghostty
mdbook
nix-tree
nix-du
graphviz
#blender
warpinator
awatcher
tigervnc
oh-my-posh
libva-utils
atuin
jc
lsof
carapace
crate2nix
liberation_ttf
noto-fonts-color-emoji
rubik
nerd-fonts.jetbrains-mono
google-fonts
];
pointerCursor = {
gtk.enable = true;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 16;
};
};
gtk = {
enable = true;
theme = {
package = pkgs.orchis-theme;
name = "Orchis";
};
};
services.lorri.enable = true;
wayland.windowManager.hyprland = {
# enable = true;
# package = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
# portalPackage = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
# plugins = [
# hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo
# hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprtrails
# ];
};
programs.dsearch.enable = true;
programs.dank-material-shell = {
enable = true;
systemd.enable = false;
# niri = {
# enableKeybinds = false; # Sets static preset keybinds
# # enableSpawn = true; # Auto-start DMS with niri, if enabled
# };
};
# programs.niri.enable = true;
fonts.fontconfig = {
enable = true;
defaultFonts = {
emoji = [ "Noto Color Emoji" ];
monospace = [
"Iosevka"
"Iosevka NF"
"FiraCode Nerd Font Mono"
];
sansSerif = [ "Inter" ];
serif = [ "Noto Serif" ];
};
};
programs = {
zen-browser.enable = true;
fish = {
enable = true;
shellInit = ''
source ~/.config/fish/config-old.fish
'';
plugins = with pkgs.fishPlugins; [
{
name = "grc";
src = grc.src;
}
{
name = "tide";
src = tide.src;
}
];
};
nushell = {
enable = true;
# unstable, perhaps 25.05
# plugins = with pkgs.nushellPlugins; [
# query
# skim
# net
# highlight
# gstat
# formats
# dbus
# units
# ];
# configFile.source = ./.config/nushell/base-config.nu;
configFile.text = "source base-config.nu";
};
vscode = {
enable = true;
# package = nixpkgs-unstable.packages.${pkgs.system}.vscode;
# package = unstable.pkgs.vscode;
# extensions = with pkgs.vscode-extensions; [
# ];
};
difftastic.enable = true;
difftastic.git.enable = true;
git = {
enable = true;
settings = {
user.name = "Daniel Bulant";
user.email = "danbulant@gmail.com";
pull.rebase = false;
pull.ff = "only";
gpg.format = "ssh";
commit.gpgsign = true;
gpg.ssh.allowedSignersFile = "/home/dan/allowed_signers";
};
signing = {
signByDefault = true;
key = "/home/dan/.ssh/id_ed25519";
};
};
gitui.enable = true;
btop.enable = true;
bat.enable = true;
lsd.enable = true;
fastfetch.enable = true;
direnv.enable = true;
direnv.nix-direnv.enable = true;
};
services.kdeconnect.enable = true;
services.kdeconnect.indicator = true;
services.blueman-applet.enable = true;
services.mpris-proxy.enable = true;
xdg.mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = "zen-beta.desktop";
"x-scheme-handler/https" = "zen-beta.desktop";
"x-scheme-handler/chrome" = "zen-beta.desktop";
"text/html" = "zen-beta.desktop";
"application/x-extension-htm" = "zen-beta.desktop";
"application/x-extension-html" = "zen-beta.desktop";
"application/x-extension-shtml" = "zen-beta.desktop";
"application/xhtml+xml" = "zen-beta.desktop";
"application/x-extension-xhtml" = "zen-beta.desktop";
"application/x-extension-xht" = "zen-beta.desktop";
"x-scheme-handler/discord" = "vesktop.desktop";
}; };
}; };
in
{
imports = [
zen-browser.homeModules.beta
];
home = {
stateVersion = "25.11";
packages = with pkgs; [
tail-tray
steam
helium
opencode
linuxKernel.packages.linux_6_12.perf
obs-studio
flamegraph
samply
font-awesome
arduino-ide
xorg.libxkbfile
# dioxus-cli
cosmic-files
cosmic-player
cosmic-screenshot
cosmic-applibrary
cosmic-ext-calculator
cosmic-icons
examine
flix
postgresql
upower
usbutils
killall
powertop
pgadmin4-desktopmode
thunderbird-bin
logisim-evolution
typst
typstyle
typstwriter
colmena.defaultPackage.${system}
usbimager
bitwarden-desktop
metasploit
lenovo-legion
burpsuite
zap
kubernetes-helm
# required by quickshell config
unstable.quickshell
wlogout
fuzzel
translate-shell
hyprpicker
hypridle
hyprland-qtutils
hyprwayland-scanner
hyprcursor
material-symbols
cava
cliphist
matugen
swww
kdePackages.fcitx5-with-addons
easyeffects
mpvpaper
uv
hyprshot
libsecret
hyprls
ddcutil
brightnessctl
libqalculate
# cloud things
minikube
nebula
nixpkgs-unstable.legacyPackages.${system}.jet-pilot
k9s
prismlauncher
lf
rawtherapee
syncthingtray
anki-bin
xournalpp
simple-scan
godot_4
#rar
wootility
#surrealdb
pico-sdk
elf2uf2-rs
obsidian
betaflight-configurator
home-manager
#glxinfo
pciutils
nix-top
grc
onefetch
inter
fira
fira-code
# fira-code-nerdfont
nerd-fonts.fira-code
iosevka
kitty
#rofi-wayland
rofi
discord
vesktop
spotify
spicetify-cli
meslo-lgs-nf
waybar
chromium
#dunst
sccache
swaybg
activitywatch
networkmanagerapplet
kubectl
duf
dust
#jetbrains.webstorm
#jetbrains.clion
#jetbrains.datagrip
# jetbrains.rider
#jetbrains.idea-ultimate
jre_minimal
datovka
nwg-displays
wireguard-tools
mongodb-compass
unstable.mongodb-tools
#hashcat
tldr
#dunst
grim
slurp
wl-clipboard
nextcloud-client
kdePackages.filelight
kdePackages.kate
kdePackages.ksystemstats
kdePackages.kinfocenter
kdePackages.kirigami-addons
kdePackages.ark
kdePackages.qtdeclarative
kdePackages.dolphin
cachix
playerctl
libcanberra-gtk3 # sound events
#qt6ct
nil # nix language server
nix-output-monitor
expect
nh
udev-block-notify
appimage-run
mpv
heroic
heaptrack
#cinny-desktop
gping
gparted
valgrind
caddy
jq
htmlq
fzf
gleam
erlang
terraform
nodejs
#corepack
ansible
aria2
qbittorrent
audacity
bettercap
duperemove
ffmpeg
flameshot
ripgrep
iotop
nethogs
john
iperf
mold
nheko
quickemu
qemu
socat
websocat
whois
#wifite2
dig
httpie
inxi
numbat
wireshark
nixfmt-rfc-style
qpwgraph
nixpkgs-unstable.legacyPackages.${system}.zed-editor
nixpkgs-unstable.legacyPackages.${system}.pineflash
unstable.nosql-booster
android-tools
hyperfine
scc
aircrack-ng
strace
ghidra
ffuf
sqlmap
nmap
rustscan
thc-hydra
file
binwalk
p7zip
foremost
gdb
feroxbuster
python312Packages.pypykatz
screen
openvpn
#ghostty
mdbook
nix-tree
nix-du
graphviz
#blender
warpinator
awatcher
tigervnc
oh-my-posh
libva-utils
atuin
jc
lsof
carapace
crate2nix
liberation_ttf
noto-fonts-color-emoji
rubik
nerd-fonts.jetbrains-mono
google-fonts
];
pointerCursor = {
gtk.enable = true;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 16;
};
};
gtk = {
enable = true;
theme = {
package = pkgs.orchis-theme;
name = "Orchis";
};
};
services.lorri.enable = true;
wayland.windowManager.hyprland = {
# enable = true;
# package = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
# portalPackage = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
# plugins = [
# hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo
# hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprtrails
# ];
};
fonts.fontconfig = {
enable = true;
defaultFonts = {
emoji = ["Noto Color Emoji"];
monospace = ["Iosevka" "Iosevka NF" "FiraCode Nerd Font Mono"];
sansSerif = ["Inter"];
serif = ["Noto Serif"];
};
};
programs = {
zen-browser.enable = true;
fish = {
enable = true;
shellInit = ''
source ~/.config/fish/config-old.fish
'';
plugins = with pkgs.fishPlugins; [
{ name = "grc"; src = grc.src; }
{ name = "tide"; src = tide.src; }
];
};
nushell = {
enable = true;
# unstable, perhaps 25.05
# plugins = with pkgs.nushellPlugins; [
# query
# skim
# net
# highlight
# gstat
# formats
# dbus
# units
# ];
# configFile.source = ./.config/nushell/base-config.nu;
configFile.text = ''source base-config.nu'';
};
vscode = {
enable = true;
# package = nixpkgs-unstable.packages.${pkgs.system}.vscode;
# package = unstable.pkgs.vscode;
# extensions = with pkgs.vscode-extensions; [
# ];
};
git = {
enable = true;
userName = "Daniel Bulant";
userEmail = "danbulant@gmail.com";
difftastic.enable = true;
signing = {
signByDefault = true;
key = "/home/dan/.ssh/id_ed25519";
};
extraConfig = {
pull.rebase = false;
pull.ff = "only";
gpg.format = "ssh";
commit.gpgsign = true;
gpg.ssh.allowedSignersFile = "/home/dan/allowed_signers";
};
};
gitui.enable = true;
btop.enable = true;
bat.enable = true;
lsd.enable = true;
fastfetch.enable = true;
direnv.enable = true;
direnv.nix-direnv.enable = true;
};
services.kdeconnect.enable = true;
services.kdeconnect.indicator = true;
services.blueman-applet.enable = true;
services.mpris-proxy.enable = true;
xdg.mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http"="zen-beta.desktop";
"x-scheme-handler/https"="zen-beta.desktop";
"x-scheme-handler/chrome"="zen-beta.desktop";
"text/html"="zen-beta.desktop";
"application/x-extension-htm"="zen-beta.desktop";
"application/x-extension-html"="zen-beta.desktop";
"application/x-extension-shtml"="zen-beta.desktop";
"application/xhtml+xml"="zen-beta.desktop";
"application/x-extension-xhtml"="zen-beta.desktop";
"application/x-extension-xht"="zen-beta.desktop";
"x-scheme-handler/discord"="vesktop.desktop";
};
};
} }

1
hypr-copy.sh Normal file
View file

@ -0,0 +1 @@
cp .config/hypr/* ~/.config/hypr/ -r