minerva.nix (2826B)
1 # Laptop 2 3 { config, pkgs, lib, machine, username, fullname, domain, email, sshkey, timezone, sshport, privatekey, ... }: 4 5 let 6 home-manager = builtins.fetchTarball https://github.com/nix-community/home-manager/archive/master.tar.gz; 7 in 8 9 { 10 11 networking.hostName = "minerva"; 12 13 imports = [ 14 (import "${home-manager}/nixos") 15 ../common/audio.nix 16 (import ../common/autologin.nix {inherit username;}) 17 ../common/dhcp.nix 18 ../common/flakes.nix 19 ../common/fonts.nix 20 ../common/garbage.nix 21 (import ../common/hyprland.nix {inherit pkgs username;}) 22 (import ../common/locale.nix {inherit timezone;}) 23 ../common/mount-drives.nix 24 ../common/nfs.nix 25 ../common/packages.nix 26 (import ../common/ssh.nix {inherit username sshkey sshport;}) 27 (import ../common/syncthing.nix {inherit config pkgs username;}) 28 (import ../common/user.nix {inherit config pkgs username fullname;}) 29 (import ../common/ydotool.nix {inherit pkgs username;}) 30 ../scripts/ctimerename.nix 31 ../scripts/duupmove.nix 32 (import ../scripts/restic.nix {inherit pkgs;}) 33 ]; 34 home-manager = { 35 backupFileExtension = "hm-bak"; 36 users.${username} = {pkgs, ...}: { 37 imports = [ 38 ../home/cursor.nix 39 ../home/espanso.nix 40 ../home/firefox.nix 41 (import ../home/fish.nix {inherit pkgs domain;}) 42 ../home/ghostty.nix 43 (import ../home/git.nix {inherit fullname email;}) 44 ../home/htop.nix 45 ../home/hyprland.nix 46 (import ../home/iamb.nix {inherit matrixuser matrixserver;}) 47 ../home/lf.nix 48 ../home/mpv.nix 49 ../home/neovim.nix 50 (import ../home/newsboat.nix {inherit pkgs domain username;}) 51 (import ../home/rbw.nix {inherit pkgs domain email;}) 52 (import ../home/ssh.nix {inherit domain username sshport privatekey;}) 53 ../home/tofi.nix 54 ]; 55 home.stateVersion = "24.11"; 56 }; 57 }; 58 59 # Hardware and system 60 boot = { 61 initrd = { 62 availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci" ]; 63 kernelModules = [ ]; 64 }; 65 kernelModules = [ "kvm-intel" ]; 66 extraModulePackages = [ ]; 67 loader.grub = { 68 enable = true; 69 device = "/dev/sda"; 70 useOSProber = true; 71 }; 72 }; 73 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 74 hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 75 76 # Packages 77 environment.systemPackages = with pkgs; [ 78 atool 79 brightnessctl 80 dos2unix 81 firefox 82 fzf 83 gallery-dl 84 glib 85 imagemagick 86 jre8 87 lf 88 mpv 89 newsboat 90 pinentry-tty 91 posy-cursors 92 rbw 93 seatd 94 shellcheck-minimal 95 swayimg 96 tofi 97 unzip 98 wl-clipboard 99 yt-dlp 100 ]; 101 102 system.stateVersion = "24.11"; # Did you read the comment? 103 }