diff --git a/flake.lock b/flake.lock index 4635dbe..9d1a225 100644 --- a/flake.lock +++ b/flake.lock @@ -5,12 +5,12 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1727370305, - "narHash": "sha256-oaQ5xCDV7qYv8A5oHoazcwPhVTXNoP3Uet7ZJtbQbkI=", - "rev": "4636732553fdace34e5511e50fbba0568f0227a0", - "revCount": 123, + "lastModified": 1731926665, + "narHash": "sha256-T8QeAgxEROprA2xy8YtnK3JtT7u4lOL4Ve86vez5fNg=", + "rev": "3e13b35b779258838684391b40512a44f637ea25", + "revCount": 127, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/blender-bin/1.0.9/01922f4c-43e5-7c77-a03a-00cdaf9f8393/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/edolstra/blender-bin/1.0.10/01933ee1-cdef-7d5b-afe8-7085844ac73d/source.tar.gz" }, "original": { "type": "tarball", @@ -61,11 +61,11 @@ ] }, "locked": { - "lastModified": 1731274291, - "narHash": "sha256-cZ0QMpv5p2a6WEE+o9uu0a4ma6RzQDOQTbm7PbixWz8=", + "lastModified": 1731895210, + "narHash": "sha256-z76Q/OXLxO/RxMII3fIt/TG665DANiE2lVvnolK2lXk=", "owner": "nix-community", "repo": "disko", - "rev": "486250f404f4a4f4f33f8f669d83ca5f6e6b7dfc", + "rev": "639d1520df9417ca2761536c3072688569e83c80", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "hardware": { "locked": { - "lastModified": 1731403644, - "narHash": "sha256-T9V7CTucjRZ4Qc6pUEV/kpgNGzQbHWfGcfK6JJLfUeI=", + "lastModified": 1731797098, + "narHash": "sha256-UhWmEZhwJZmVZ1jfHZFzCg+ZLO9Tb/v3Y6LC0UNyeTo=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "f6581f1c3b137086e42a08a906bdada63045f991", + "rev": "672ac2ac86f7dff2f6f3406405bddecf960e0db6", "type": "github" }, "original": { @@ -224,16 +224,16 @@ ] }, "locked": { - "lastModified": 1726989464, - "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", + "lastModified": 1731880681, + "narHash": "sha256-FmYTkIyPBUxSWgA7DPIVTsCCMvSSbs56yOtHpLNSnKg=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", + "rev": "aecd341dfead1c3ef7a3c15468ecd71e8343b7c6", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.05", + "ref": "release-24.11", "repo": "home-manager", "type": "github" } @@ -310,11 +310,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1731375802, - "narHash": "sha256-CvWPEzrl2EA3xrtg9X6K8aqV7T5r0SaDz6PLpGA0yIY=", + "lastModified": 1731981116, + "narHash": "sha256-SgnDCrAuX9JxRk7NqGJCXYmt+EUkDF2rfL7QjtNImuk=", "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "b873a123366b9a62f9262414ada8d83b03f1f0bf", + "rev": "3b71545aa21e6fe9eb7690be7ee2ee3d633b1990", "type": "github" }, "original": { @@ -401,26 +401,26 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1731239293, - "narHash": "sha256-q2yjIWFFcTzp5REWQUOU9L6kHdCDmFDpqeix86SOvDc=", + "lastModified": 1731755305, + "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9256f7c71a195ebe7a218043d9f93390d49e6884", + "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-24.05", + "ref": "nixos-24.11", "type": "indirect" } }, "nur": { "locked": { - "lastModified": 1731508175, - "narHash": "sha256-CvW2AqSvTwjSB2nyR/8Ab9ZCzShDkaZkwlUUgw1EJ4M=", + "lastModified": 1732025389, + "narHash": "sha256-UMZbNhr9AtGMlV6Sgj2CIb+R3xFTc8sXKcUtAzWKJUw=", "owner": "nix-community", "repo": "NUR", - "rev": "ce861b4f99968fd26b93534f5d86c4f9df99964f", + "rev": "5128049be5e7a1cc3cad4b2b7bbcefc08af20eef", "type": "github" }, "original": { @@ -543,11 +543,11 @@ }, "unstable": { "locked": { - "lastModified": 1731139594, - "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", + "lastModified": 1731676054, + "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", + "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2c88776..4883dd4 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,7 @@ { inputs = { # System inputs - nixpkgs.url = "nixpkgs/nixos-24.05"; + nixpkgs.url = "nixpkgs/nixos-24.11"; unstable.url = "nixpkgs/nixos-unstable"; hardware.url = "github:nixos/nixos-hardware/master"; @@ -21,7 +21,7 @@ # Home inputs home-manager = { - url = "github:nix-community/home-manager/release-24.05"; + url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; diff --git a/modules/home/programs/gui/librewolf/default.nix b/modules/home/programs/gui/librewolf/default.nix index bb19e9f..7d6be7c 100644 --- a/modules/home/programs/gui/librewolf/default.nix +++ b/modules/home/programs/gui/librewolf/default.nix @@ -115,18 +115,21 @@ in { commonSettings = { "general.autoScroll" = true; + "places.history.enabled" = false; + "font.name.serif.x-western" = config.look.fonts.main; "font.name.sans-serif.x-western" = config.look.fonts.main; "font.name.monospace.x-western" = config.look.fonts.nerd; - "browser.compactmode.show" = true; "browser.uidensity" = 1; - "browser.startup.page" = 3; + "browser.compactmode.show" = true; "browser.toolbars.bookmarks.visibility" = "never"; "browser.contentblocking.category" = "strict"; "browser.helperApps.deleteTempFileOnExit" = true; - "browser.newtabpage.enabled" = false; "browser.search.separatePrivateDefault" = false; + "browser.download.useDownloadDir" = true; + "browser.startup.page" = 3; + "browser.newtabpage.enabled" = false; "extensions.pocket.enabled" = false; "extensions.autoDisableScopes" = 0; @@ -145,8 +148,6 @@ in { "privacy.clearOnShutdown_v2.cookiesAndStorage" = false; "privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true; - "places.history.enabled" = false; - "urlclassifier.trackingSkipURLs" = "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com"; "urlclassifier.features.socialtracking.skipURLs" = "*.instagram.com, *.twitter.com, *.twimg.com"; @@ -162,6 +163,9 @@ in { "gfx.webrender.all" = true; "gfx.x11-egl.force-enabled" = true; + "clipboard.autocopy" = false; + "middlemouse.paste" = false; + "svg.context-properties.content.enabled" = true; "device.sensors.motion.enabled" = false; "gnomeTheme.hideSingleTab" = true; diff --git a/modules/home/programs/gui/pcmanfm-qt/default.nix b/modules/home/programs/gui/pcmanfm-qt/default.nix index 06ec2f7..2f8917a 100644 --- a/modules/home/programs/gui/pcmanfm-qt/default.nix +++ b/modules/home/programs/gui/pcmanfm-qt/default.nix @@ -3,7 +3,7 @@ home = { packages = with pkgs; [ pcmanfm-qt - gnome.file-roller + file-roller ]; file = { ".config/pcmanfm-qt/default/settings.conf".text = '' diff --git a/modules/home/programs/misc/remote-desktop/default.nix b/modules/home/programs/misc/remote-desktop/default.nix index d7e65b6..9cfe054 100644 --- a/modules/home/programs/misc/remote-desktop/default.nix +++ b/modules/home/programs/misc/remote-desktop/default.nix @@ -1,7 +1,7 @@ -{ pkgs, lib, config, ... }: +{ pkgs, ... }: { home.packages = with pkgs; [ moonlight-qt - rustdesk-flutter + #rustdesk-flutter ]; } diff --git a/modules/home/programs/misc/school/default.nix b/modules/home/programs/misc/school/default.nix index b35640f..14f2a44 100644 --- a/modules/home/programs/misc/school/default.nix +++ b/modules/home/programs/misc/school/default.nix @@ -1,9 +1,9 @@ -{ pkgs, lib, config, ... }: +{ pkgs, ... }: { home.packages = with pkgs; [ remmina freerdp zoom-us - unstable.gpauth + gpauth ]; } diff --git a/modules/home/programs/terminal/zsh/default.nix b/modules/home/programs/terminal/zsh/default.nix index 9736a41..bb96cfb 100644 --- a/modules/home/programs/terminal/zsh/default.nix +++ b/modules/home/programs/terminal/zsh/default.nix @@ -11,16 +11,16 @@ }; shellAliases = { # NixOS aliases + flakedate = "doas nix flake update /etc/nixos"; + nhs = "doas nh os switch -R"; + nhu = "flakedate && nhs"; + ns = "nix-shell -p"; + nixclean = "doas nix-store --gc; nix-collect-garbage -d"; nixpurge = "doas nix-collect-garbage --delete-old"; nixoptimize = "doas nix store optimise"; nixscrub = "nixclean; nixpurge; nixoptimize"; - # Flake commands - flakedate = "doas nix flake update /etc/nixos"; - nixswitch = "doas nixos-rebuild switch --flake /etc/nixos"; - nixdate = "flakedate && nixswitch"; - # Shortcut aliases neo = "clear && fastfetch"; ip = "ip -c"; @@ -35,6 +35,7 @@ }; initExtra = '' source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh + source ${pkgs.zsh-you-should-use}/share/zsh/plugins/you-should-use/you-should-use.plugin.zsh ${pkgs.any-nix-shell}/bin/any-nix-shell zsh --info-right | source /dev/stdin; pfetch setopt HIST_IGNORE_SPACE setopt RM_STAR_WAIT diff --git a/modules/home/wms/sway/hotkeys/default.nix b/modules/home/wms/sway/hotkeys/default.nix index 8096e9e..435304b 100644 --- a/modules/home/wms/sway/hotkeys/default.nix +++ b/modules/home/wms/sway/hotkeys/default.nix @@ -68,7 +68,7 @@ "${primeMod}+${secMod}+r" = ''exec rofiscripts --resolutions''; # Mod + Key - "${primeMod}+s" = ''exec rofi -show drun -modi drun -drun-display-format {name} -show-icons -disable-history''; + "${primeMod}+s" = ''exec rofi -show run -p Command''; "${primeMod}+c" = ''exec clipman pick -t rofi''; "${primeMod}+x" = ''exec rofiscripts --power''; "${primeMod}+b" = ''exec pkill -USR1 waybar''; @@ -77,7 +77,7 @@ "${primeMod}+Delete" = ''exec foot ranger /etc/nixos | ${sendNotif} "Nix Config"''; # Mod + shift + key - "${primeMod}+Shift+s" = ''exec rofi -show run -p Command''; + "${primeMod}+Shift+s" = ''exec rofi -show drun -modi drun -drun-display-format {name} -show-icons -disable-history''; "${primeMod}+Shift+t" = ''exec pcmanfm-qt''; "${primeMod}+Shift+e" = ''exec BEMOJI_PICKER_CMD="rofi -dmenu -i -p Emoji" bemoji -n -P 0''; "${primeMod}+Shift+b" = ''exec rofi-bluetooth''; diff --git a/modules/system/devices/disks/impermanence/root/default.nix b/modules/system/devices/disks/impermanence/root/default.nix index ee7871a..e611e07 100644 --- a/modules/system/devices/disks/impermanence/root/default.nix +++ b/modules/system/devices/disks/impermanence/root/default.nix @@ -9,6 +9,7 @@ ]; files = [ "/etc/machine-id" + "/root/.gitconfig" ]; }; } diff --git a/modules/system/devices/networking/wireless/default.nix b/modules/system/devices/networking/wireless/default.nix index c5f2cd9..a726ee5 100644 --- a/modules/system/devices/networking/wireless/default.nix +++ b/modules/system/devices/networking/wireless/default.nix @@ -15,7 +15,7 @@ }; environment = { - systemPackages = with pkgs; [ unstable.impala ]; + systemPackages = with pkgs; [ impala ]; persistence."/persist".directories = [ "/var/lib/iwd/" ]; }; }; diff --git a/modules/system/devices/video/default.nix b/modules/system/devices/video/default.nix index 1b71688..bf73acf 100644 --- a/modules/system/devices/video/default.nix +++ b/modules/system/devices/video/default.nix @@ -1,10 +1,13 @@ { config, pkgs, ... }: { - imports = [ ./nvidia ]; + imports = [ + ./nvidia + ./nouveau + ]; - hardware.opengl = { + hardware.graphics = { enable = config.system.desktop.enable; - driSupport32Bit = true; + enable32Bit = true; extraPackages = with pkgs; [ vulkan-loader vulkan-validation-layers diff --git a/modules/system/devices/video/nouveau/default.nix b/modules/system/devices/video/nouveau/default.nix new file mode 100644 index 0000000..9f258e4 --- /dev/null +++ b/modules/system/devices/video/nouveau/default.nix @@ -0,0 +1,15 @@ +{ lib, pkgs, config, ... }: +{ + options.system.video.nouveau = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable the open-source Nouveau driver"; + }; + }; + + config = lib.mkIf config.system.video.nouveau.enable { + services.xserver.videoDrivers = [ "nouveau" ]; + boot.kernelParams = [ "nouveau.config=NvGspRm=1" ]; + }; +} diff --git a/modules/system/devices/video/nvidia/default.nix b/modules/system/devices/video/nvidia/default.nix index 3d6d4f2..f49b389 100644 --- a/modules/system/devices/video/nvidia/default.nix +++ b/modules/system/devices/video/nvidia/default.nix @@ -1,30 +1,14 @@ { lib, pkgs, config, ... }: { - options.system.video = { - nvidia = { - enable = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable the proprietary Nvidia stack"; - }; - }; - nouveau = { - enable = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable the open-source Nouveau driver"; - }; + options.system.video.nvidia = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable the proprietary Nvidia stack"; }; }; - config = { - # Conditionally set video drivers based on the options - services.xserver.videoDrivers = - if config.system.video.nvidia.enable then [ "nvidia" ] - else if config.system.video.nouveau.enable then [ "nouveau" ] - else []; - - # Configure Nvidia settings if Nvidia is enabled + config = lib.mkIf config.system.video.nvidia.enable { hardware = { nvidia = lib.mkIf config.system.video.nvidia.enable { modesetting.enable = true; @@ -32,7 +16,10 @@ package = config.boot.kernelPackages.nvidiaPackages.beta; open = false; }; - opengl.extraPackages = with pkgs; [ nvidia-vaapi-driver ]; + graphics.extraPackages = with pkgs; [ nvidia-vaapi-driver ]; }; + + boot.kernelParams = [ "nvidia_drm.fbdev=1" ]; + services.xserver.videoDrivers = [ "nvidia" ]; }; } diff --git a/modules/system/programs/default.nix b/modules/system/programs/default.nix index bf0de77..47e8fb2 100644 --- a/modules/system/programs/default.nix +++ b/modules/system/programs/default.nix @@ -6,6 +6,7 @@ ./dconf ./gaming ./git + ./nh ./qt ./security ./shells diff --git a/modules/system/programs/nh/default.nix b/modules/system/programs/nh/default.nix new file mode 100644 index 0000000..00e6438 --- /dev/null +++ b/modules/system/programs/nh/default.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + programs.nh = { + enable = true; + clean.enable = true; + flake = "/etc/nixos"; + }; +} diff --git a/modules/system/programs/sway/default.nix b/modules/system/programs/sway/default.nix index cd1024b..872674c 100644 --- a/modules/system/programs/sway/default.nix +++ b/modules/system/programs/sway/default.nix @@ -4,7 +4,6 @@ programs.sway = { enable = config.system.desktop.enable; - package = pkgs.unstable.sway; extraPackages = with pkgs; [ swaylock ]; }; diff --git a/modules/system/settings/nix/default.nix b/modules/system/settings/nix/default.nix index a1fbf94..b3713bb 100644 --- a/modules/system/settings/nix/default.nix +++ b/modules/system/settings/nix/default.nix @@ -8,11 +8,6 @@ ]; auto-optimise-store = true; }; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 1w"; - }; }; nixpkgs.config.allowUnfree = true;