diff --git a/flake.lock b/flake.lock index 942b2ac..b912d59 100644 --- a/flake.lock +++ b/flake.lock @@ -9,11 +9,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1761827347, - "narHash": "sha256-tIrTFSntAyXVrQE9GnauXzQxEZJCZA9TEp4jAENsgwA=", + "lastModified": 1762142233, + "narHash": "sha256-iaCwRAWud6hcy6piBAiU9t8swmyAGVmucHnTjcPe6IM=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "0c234b99a8606b482d6644e1f2d26d41985fb85c", + "rev": "3a26d7cf3b5d8083fc7c406e8aed4251e364c48f", "type": "github" }, "original": { @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1761770832, - "narHash": "sha256-IQIWG6kHxnUpx5KEb9r0BROL3/R6UQ/30aO2oHncBA8=", + "lastModified": 1761878381, + "narHash": "sha256-lCRaipHgszaFZ1Cs8fdGJguVycCisBAf2HEFgip5+xU=", "owner": "nix-community", "repo": "home-manager", - "rev": "124b99dbd1594dbebdd575ac7142752ee96a98a0", + "rev": "4ac96eb21c101a3e5b77ba105febc5641a8959aa", "type": "github" }, "original": { @@ -120,11 +120,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1761672384, - "narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=", + "lastModified": 1761907660, + "narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c", + "rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15", "type": "github" }, "original": { @@ -136,11 +136,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1761907660, - "narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=", + "lastModified": 1762168314, + "narHash": "sha256-+DX6mIF47gRGoK0mqkTg1Jmcjcup0CAXJFHVkdUx8YA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15", + "rev": "94fc102d2c15d9c1a861e59de550807c65358e1b", "type": "github" }, "original": { @@ -165,11 +165,11 @@ ] }, "locked": { - "lastModified": 1761758177, - "narHash": "sha256-MsVJG2gQTm6n2jIGu2KDT87AMeMx1GExOaEQqNkQKVE=", + "lastModified": 1761964689, + "narHash": "sha256-Zo3LQQDz+64EQ9zor/WmeNTFLoZkjmhp0UY3G0D3seE=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "37f8f092415b444c3bed6eda6bcbee51cee22e5d", + "rev": "63d22578600f70d293aede6bc737efef60ebd97f", "type": "github" }, "original": { diff --git a/hardware-configuration.nix b/hardware-configuration.nix index 79e9355..c7cd927 100644 --- a/hardware-configuration.nix +++ b/hardware-configuration.nix @@ -1,84 +1,140 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ + config, + lib, + pkgs, + modulesPath, + ... +}: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "uas" "usbhid" "sd_mod" ]; + boot.initrd.availableKernelModules = [ + "nvme" + "xhci_pci" + "ahci" + "uas" + "usbhid" + "sd_mod" + ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = - { device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd"; - fsType = "btrfs"; - options = [ - "subvol=@nix" - "ssd" - "space_cache=v2" - "noatime" - "compress=zstd" - ]; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd"; + fsType = "btrfs"; + options = [ + "subvol=@nix" + "ssd" + "space_cache=v2" + "noatime" + "compress=zstd:5" + "autodefrag" + ]; + }; - fileSystems."/home" = - { device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd"; - fsType = "btrfs"; - options = [ - "subvol=@home" - "ssd" - "space_cache=v2" - "noatime" - "compress=zstd" - ]; - }; + fileSystems."/home" = { + device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd"; + fsType = "btrfs"; + options = [ + "subvol=@home" + "ssd" + "space_cache=v2" + "noatime" + "compress=zstd:5" + "autodefrag" + ]; + }; - fileSystems."/nix" = - { device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd"; - fsType = "btrfs"; - options = [ - "subvol=@nix_nix" - "ssd" - "space_cache=v2" - "noatime" - "compress=zstd" - ]; + fileSystems."/nix" = { + device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd"; + fsType = "btrfs"; + options = [ + "subvol=@nix_nix" + "ssd" + "space_cache=v2" + "noatime" + "compress=zstd:10" + "autodefrag" + ]; - }; + }; - fileSystems."/var" = - { device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd"; - fsType = "btrfs"; - options = [ - "subvol=@nix_var" - "ssd" - "space_cache=v2" - "noatime" - "compress=zstd" - ]; - }; + fileSystems."/var" = { + device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd"; + fsType = "btrfs"; + options = [ + "subvol=@nix_var" + "ssd" + "space_cache=v2" + "noatime" + "compress=zstd:7" + "autodefrag" + ]; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/3DB5-50DE"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/3DB5-50DE"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; - fileSystems."/media/data" = - { device = "/dev/disk/by-uuid/4c0c8b24-6fca-49c1-8e34-e00e240576e3"; - fsType = "btrfs"; - options = [ "subvol=Data" ]; - }; + fileSystems."/media/data" = { + device = "/dev/disk/by-uuid/4c0c8b24-6fca-49c1-8e34-e00e240576e3"; + fsType = "btrfs"; + options = [ + "subvol=Data" + "space_cache=v2" + "compress=zstd:5" + "noatime" + "autodefrag" + ]; + }; - fileSystems."/media/games" = - { device = "/dev/disk/by-uuid/4c0c8b24-6fca-49c1-8e34-e00e240576e3"; - fsType = "btrfs"; - options = [ "subvol=Games" ]; - }; + fileSystems."/media/games" = { + device = "/dev/disk/by-uuid/4c0c8b24-6fca-49c1-8e34-e00e240576e3"; + fsType = "btrfs"; + options = [ + "subvol=Games" + "space_cache=v2" + "compress=zstd:5" + "noatime" + "autodefrag" + ]; + }; + + fileSystems."/media/home-backup" = { + device = "/dev/disk/by-uuid/4c0c8b24-6fca-49c1-8e34-e00e240576e3"; + fsType = "btrfs"; + options = [ + "subvol=home-backup" + "space_cache=v2" + "compress=zstd:10" + "noatime" + "autodefrag" + ]; + }; + + fileSystems."/media/pipa" = { + device = "/dev/disk/by-uuid/0013f713-acf4-496b-b43f-25258283b884"; + fsType = "f2fs"; + options = [ + "compress_algorithm=zstd:6" + "compress_chksum" + "atgc" + "gc_merge" + "lazytime" + ]; + }; swapDevices = [ ]; diff --git a/modules/programs.nix b/modules/programs.nix index b2bf461..d606b84 100644 --- a/modules/programs.nix +++ b/modules/programs.nix @@ -14,14 +14,17 @@ numlock-state = true; remember-numlock-state = true; }; + "org/gnome/desktop/peripherals/mouse" = { speed-profile = "flat"; speed = -0.5; }; + "org/gnome/desktop/peripherals/touchpad" = { speed-profile = "flat"; speed = -0.5; }; + "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; gtk-theme = "Flat-Remix-GTK-Red-Darkest"; @@ -29,21 +32,25 @@ cursor-theme = "Bibata-Modern-Classic"; clock-format = "24h"; }; + "org/gnome/shell/portal" = { color-scheme = "prefer-dark"; }; }; } ]; + adb.enable = true; bat.enable = true; zsh.enable = true; gamemode.enable = true; firefox.enable = true; + git = { enable = true; lfs.enable = true; }; + nh = { clean = { enable = true; @@ -52,6 +59,7 @@ enable = true; flake = "/etc/nixos"; }; + nix-ld = { enable = true; libraries = with pkgs; [ ]; @@ -64,6 +72,7 @@ # wlrobs # ]; # }; + steam = { dedicatedServer.openFirewall = true; enable = true; diff --git a/modules/services.nix b/modules/services.nix index 7969c7a..e5661a2 100644 --- a/modules/services.nix +++ b/modules/services.nix @@ -6,7 +6,6 @@ }: { - environment.systemPackages = with pkgs; [ zram-generator ]; @@ -14,6 +13,7 @@ services = { lact.enable = true; printing.enable = true; + flatpak = { enable = true; remotes = [ @@ -39,10 +39,6 @@ appId = "org.gtk.Gtk3theme.Adwaita-dark"; origin = "flathub"; } - # { - # appId = "org.freedesktop.Platform.ffmpeg-full"; - # origin = "flathub"; - # } { appId = "org.gtk.Gtk3theme.Flat-Remix-GTK-Red-Darkest"; origin = "flathub"; @@ -51,23 +47,13 @@ appId = "com.github.iwalton3.jellyfin-media-player"; origin = "flathub"; } - # { - # appId = "com.github.tchx84.Flatseal"; - # origin = "flathub"; - # } - # { - # appId = "com.github.tchx84.Flatseal"; - # origin = "flathub"; - # } - # { - # appId = "com.github.tchx84.Flatseal"; - # origin = "flathub"; - # } ]; }; + sshd.enable = true; displayManager.gdm.enable = true; desktopManager.gnome.enable = true; + xserver = { enable = true; excludePackages = with pkgs; [ @@ -78,6 +64,7 @@ variant = ""; }; }; + pulseaudio.enable = false; pipewire = { enable = true; @@ -91,13 +78,16 @@ # no need to redefine it in your config for now) #media-session.enable = true; }; + hardware.openrgb.motherboard = "amd"; hardware.openrgb.enable = true; + journald.extraConfig = '' SystemMaxUse=2G RuntimeMaxUse=1G SystemMaxFiles=100 ''; + zram-generator = { enable = true; settings = { @@ -107,50 +97,21 @@ }; }; }; + + btrfs = { + autoScrub = { + enable = true; + interval = "monthly"; + }; + }; + + fstrim = { + enable = true; + interval = "weekly"; + }; }; + systemd = { - services."fstrim-all" = { - description = "Run fstrim on all mounted filesystems"; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkgs.util-linux}/bin/fstrim -av"; - }; - }; - timers."fstrim-all" = { - wantedBy = [ "timers.target" ]; - timerConfig = { - OnCalendar = "weekly"; - Persistent = true; - }; - }; - services."btrfs-scrub-root" = { - description = "Run btrfs scrub on / (monthly)"; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkgs.btrfs-progs}/bin/btrfs scrub start -B -R /"; - }; - }; - timers."btrfs-scrub-root" = { - wantedBy = [ "timers.target" ]; - timerConfig = { - OnCalendar = "monthly"; - Persistent = true; - }; - }; - services."btrfs-scrub-home" = { - description = "Run btrfs scrub on /home (monthly)"; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkgs.btrfs-progs}/bin/btrfs scrub start -B -R /home"; - }; - }; - timers."btrfs-scrub-home" = { - wantedBy = [ "timers.target" ]; - timerConfig = { - OnCalendar = "monthly"; - Persistent = true; - }; - }; services."nix-prune-generations" = { description = "Keep only 5 system generations and run nix-collect-garbage"; serviceConfig = { @@ -162,6 +123,7 @@ Nice = "10"; }; }; + timers."nix-prune-generations" = { wantedBy = [ "timers.target" ]; timerConfig = {