diff --git a/flake.nix b/flake.nix index 30c82aa..201893f 100644 --- a/flake.nix +++ b/flake.nix @@ -123,8 +123,8 @@ }; kuromi = mkNixOSConfigurations { host = hosts.kuromi; - nixpkgs = inputs.nixpkgs; - home-manager = inputs.home-manager; + nixpkgs = inputs.nixpkgs-stable; + home-manager = inputs.home-manager-stable; modules = []; }; }; diff --git a/home/base.nix b/home/base.nix index 0f88eea..ceb7ae4 100644 --- a/home/base.nix +++ b/home/base.nix @@ -1,5 +1,6 @@ { config, + lib, pkgs, ... }: { @@ -77,6 +78,13 @@ programs.bat.enable = true; + programs.btop.enable = true; + + programs.emacs = { + enable = true; + package = lib.mkDefault pkgs.emacs-nox; + }; + programs.fastfetch = { enable = true; settings = { @@ -149,13 +157,10 @@ ''; }; - # programs.senpai.enable = true; - - # programs.sm64ex.enable = true; - programs.starship = { enable = true; enableBashIntegration = true; + enableZshIntegration = true; settings = { line_break = { disabled = true; @@ -181,6 +186,7 @@ programs.yazi = { enable = true; enableBashIntegration = true; + enableZshIntegration = true; }; programs.yt-dlp = { diff --git a/home/desktop.nix b/home/desktop.nix index 08b711c..612f642 100644 --- a/home/desktop.nix +++ b/home/desktop.nix @@ -109,7 +109,10 @@ programs.kitty = { enable = true; enableGitIntegration = true; - shellIntegration.enableBashIntegration = true; + shellIntegration = { + enableBashIntegration = true; + enableZshIntegration = true; + }; font = { name = "BlexMono Nerd Font"; size = 11; diff --git a/hosts/kuromi/configuration.nix b/hosts/kuromi/configuration.nix index 7285cd6..71386dd 100644 --- a/hosts/kuromi/configuration.nix +++ b/hosts/kuromi/configuration.nix @@ -9,7 +9,7 @@ imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix - ../../nixos/desktop.nix + ../../nixos/base.nix ]; networking.hostName = "kuromi"; diff --git a/hosts/kuromi/home.nix b/hosts/kuromi/home.nix index 3c0aa01..77c2f6a 100644 --- a/hosts/kuromi/home.nix +++ b/hosts/kuromi/home.nix @@ -4,8 +4,7 @@ ... }: { imports = [ - ../../home/desktop.nix - ../../home/plasma.nix + ../../home/base.nix ]; home.stateVersion = "25.05"; diff --git a/nixos/base.nix b/nixos/base.nix index 6b4a55a..00f989a 100644 --- a/nixos/base.nix +++ b/nixos/base.nix @@ -6,34 +6,31 @@ ... }: { # Bootloader. - boot.loader.systemd-boot = { - enable = true; - configurationLimit = 10; + boot.loader = { + efi.canTouchEfiVariables = true; + systemd-boot = { + enable = true; + configurationLimit = 10; + }; }; - boot.loader.efi.canTouchEfiVariables = true; # Garbage collection - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 1w"; + nix = { + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 1w"; + }; + nixPath = ["nixpkgs=${inputs.nixpkgs}"]; + settings = { + auto-optimise-store = true; + download-buffer-size = 524288000; + experimental-features = ["nix-command" "flakes"]; + }; }; - # Optimize store - nix.settings = { - auto-optimise-store = true; - download-buffer-size = 524288000; - experimental-features = ["nix-command" "flakes"]; - }; - - # Allow power management - powerManagement.enable = true; - - # Firmware updates - services.fwupd.enable = true; - - # Enable networking - networking.networkmanager.enable = true; + # Allow unfree packages + nixpkgs.config.allowUnfree = true; # Set your time zone. time.timeZone = "America/New_York"; @@ -53,12 +50,6 @@ LC_TIME = "C.UTF-8"; }; - # Catppuccin - catppuccin = { - enable = true; - flavor = "mocha"; - }; - # Configure keymap console.keyMap = lib.mkDefault "jp106"; @@ -67,11 +58,17 @@ model = lib.mkDefault "jp106"; }; - # Enable CUPS to print documents. - services.printing.enable = true; + # Allow power management + powerManagement.enable = true; - # Allow unfree packages - nixpkgs.config.allowUnfree = true; + # Enable networking + networking.networkmanager.enable = true; + + # Catppuccin + catppuccin = { + enable = true; + flavor = "mocha"; + }; # Android debug tools programs.adb.enable = true; @@ -145,6 +142,13 @@ vimAlias = true; }; + # ssh agent + programs.gnupg.agent.enable = true; + + programs.ssh = { + enableAskPassword = false; + }; + sops = { defaultSopsFile = ../secrets.yaml; validateSopsFiles = false; @@ -185,36 +189,6 @@ yubikey-manager ]; - nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"]; - - # ssh agent - # programs.mtr.enable = true; - programs.gnupg.agent.enable = true; - - programs.ssh = { - enableAskPassword = false; - }; - - services.fstrim.enable = lib.mkDefault true; - - # Enable the OpenSSH daemon. - services.openssh = { - enable = true; - settings = { - PermitRootLogin = "no"; - PasswordAuthentication = false; - KbdInteractiveAuthentication = false; - }; - }; - - services.pcscd.enable = true; - - services.udev.packages = with pkgs; [ - yubikey-personalization - ]; - - services.yubikey-agent.enable = true; - security.pam = lib.optionalAttrs pkgs.stdenv.isLinux { sshAgentAuth.enable = true; u2f = { @@ -237,4 +211,30 @@ pkcs11.enable = true; tctiEnvironment.enable = true; }; + + services.fstrim.enable = lib.mkDefault true; + + # Firmware updates + services.fwupd.enable = true; + + # Enable the OpenSSH daemon. + services.openssh = { + enable = true; + settings = { + PermitRootLogin = "no"; + PasswordAuthentication = false; + KbdInteractiveAuthentication = false; + }; + }; + + services.pcscd.enable = true; + + # Enable CUPS to print documents. + services.printing.enable = true; + + services.udev.packages = with pkgs; [ + yubikey-personalization + ]; + + services.yubikey-agent.enable = true; }