diff --git a/modules/nixos/apps/cli-apps/nixvim/default.nix b/modules/nixos/apps/cli-apps/nixvim/default.nix index ccf0a91..f9e5ec7 100644 --- a/modules/nixos/apps/cli-apps/nixvim/default.nix +++ b/modules/nixos/apps/cli-apps/nixvim/default.nix @@ -16,9 +16,22 @@ in }; config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - less - wyrdgard.neovim - ]; + environment = { + systemPackages = with pkgs; [ + less + wyrdgard.neovim + ]; + variables = { + EDITOR = "nvim"; + SUDOEDITOR = "nvim"; + }; + }; + + wyrdgard.home = { + extraOptions = { + # Use Neovim for Git diffs. + programs.fish.shellAliases.vimdiff = "nvim -d"; + }; + }; }; } diff --git a/modules/nixos/system/autoUpgrade/default.nix b/modules/nixos/system/autoUpgrade/default.nix new file mode 100644 index 0000000..b9947c1 --- /dev/null +++ b/modules/nixos/system/autoUpgrade/default.nix @@ -0,0 +1,33 @@ +{ + options, + config, + pkgs, + lib, + inputs, + ... +}: +with lib; +with lib.wyrdgard; +let + cfg = config.wyrdgard.system.autoUpgrade; +in +{ + options.wyrdgard.system.autoUpgrade = with types; { + enable = mkEnableOption "Enable auto-upgrade"; + time = mkOpt str "02:00" "Time to run auto-upgrade"; + }; + + config = mkIf cfg.enable { + system.autoUpgrade = { + enable = true; + flake = inputs.self.outPath; + flags = [ + "--update-input" + "nixpkgs" + "--print-build-logs" + ]; + dates = cfg.time; + randomizedDelaySec = "45min"; + }; + }; +} diff --git a/modules/nixos/user/default.nix b/modules/nixos/user/default.nix index 206a1e9..0e0c740 100644 --- a/modules/nixos/user/default.nix +++ b/modules/nixos/user/default.nix @@ -28,7 +28,7 @@ let pkgs.runCommandNoCC "propagated-icon" { passthru = { - fileName = cfg.icon.fileName; + inherit (fileName); }; } '' diff --git a/systems/x86_64-linux/yggdrasil/default.nix b/systems/x86_64-linux/yggdrasil/default.nix index 57aff4e..c639176 100644 --- a/systems/x86_64-linux/yggdrasil/default.nix +++ b/systems/x86_64-linux/yggdrasil/default.nix @@ -24,9 +24,15 @@ with lib.wyrdgard; _1password = enabled; }; - system.hardware = { - bluetooth = enabled; - gpu.nvidia = enabled; + system = { + autoUpgrade = { + enable = true; + time = "10:00"; + }; + hardware = { + bluetooth = enabled; + gpu.nvidia = enabled; + }; }; };