nix-configs

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

minerva.nix (2495B)


      1 # Laptop
      2 {
      3   config,
      4   pkgs,
      5   machine,
      6   username,
      7   fullname,
      8   domain,
      9   email,
     10   sshkey,
     11   ...
     12 }: let
     13   media-sort = import ../common/media-sort.nix {inherit pkgs;};
     14   # home-manager = builtins.fetchTarball https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz;
     15   home-manager = builtins.fetchTarball https://github.com/nix-community/home-manager/archive/master.tar.gz;
     16 in {
     17   # Core OS imports
     18   imports = [
     19     ./${machine}-hardware.nix # Include the results of the hardware scan.
     20     (import "${home-manager}/nixos") # Home-Manager
     21     ../common/audio.nix
     22     ../common/flakes.nix
     23     ../common/fonts.nix
     24     ../common/garbage.nix
     25     ../common/locale.nix
     26     ../common/nfs.nix
     27     ../common/packages.nix
     28     (import ../common/ssh.nix {inherit username sshkey;})
     29     (import ../common/syncthing.nix {inherit config pkgs username;})
     30     (import ../common/user.nix {inherit config pkgs username fullname;})
     31     (import ../common/ydotool.nix {inherit pkgs username;})
     32     ../scripts/ctimerename.nix
     33     ../scripts/duupmove.nix
     34   ];
     35 
     36   # Home-Manager
     37   home-manager.backupFileExtension = "hm-bak";
     38   home-manager.users.${username} = {pkgs, ...}: {
     39     imports = [
     40       ../home/fish.nix
     41       ../home/ghostty.nix
     42       ../home/cursor.nix
     43       ../home/firefox.nix
     44       ../home/fish.nix
     45       ../home/htop.nix
     46       # ../home/iamb.nix
     47       ../home/hyprland.nix
     48       ../home/lf.nix
     49       ../home/mpv.nix
     50       ../home/neovim.nix
     51       ../home/tofi.nix
     52       (import ../home/git.nix {inherit fullname email;})
     53       (import ../home/rbw.nix {inherit pkgs domain email;})
     54       (import ../home/ssh.nix {inherit domain username;})
     55       (import ../home/newsboat.nix {inherit pkgs domain username;})
     56     ];
     57     # The state version is required and should stay at the version you
     58     # originally installed.
     59     home.stateVersion = "24.11";
     60   };
     61 
     62   # Hostname
     63   networking.hostName = "minerva"; # Define your hostname.
     64 
     65   # Packages
     66   environment.systemPackages = with pkgs; [
     67     atool
     68     media-sort
     69     brightnessctl
     70     dos2unix
     71     firefox
     72     fzf
     73     gallery-dl
     74     glib
     75     hyprcursor
     76     hypridle
     77     hyprland
     78     imagemagick
     79     jre8
     80     lf
     81     mpv
     82     newsboat
     83     pinentry-tty
     84     posy-cursors
     85     rbw
     86     seatd
     87     swayimg
     88     tofi
     89     unzip
     90     wl-clipboard
     91     yt-dlp
     92   ];
     93 
     94   programs.hyprland.enable = true;
     95   users.users.${username}.extraGroups = ["seat" "video"];
     96   services.seatd.enable = true;
     97 
     98   system.stateVersion = "24.11"; # Did you read the comment?
     99 }