nix-configs

Personal NixOS and home-manager configuration files
Log | Files | Refs

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 }