nix-configs

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

atlas.nix (2855B)


      1 # Desktop
      2 
      3 { config, pkgs, lib, machine, username, fullname, domain, email, sshkey, timezone, sshport, privatekey, matrixuser, matrixserver, ... }:
      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 = "atlas";
     12 
     13   imports = [
     14     (import "${home-manager}/nixos")
     15     ../common/audio.nix
     16     (import ../common/autologin.nix {inherit username;})
     17     (import ../common/devel.nix {inherit pkgs;})
     18     ../common/dhcp.nix
     19     ../common/flakes.nix
     20     ../common/fonts.nix
     21     ../common/garbage.nix
     22     (import ../common/hyprland.nix {inherit pkgs username;})
     23     (import ../common/locale.nix {inherit timezone;})
     24     ../common/mount-drives.nix
     25     ../common/nfs.nix
     26     ../common/packages.nix
     27     ../common/steam.nix
     28     (import ../common/ssh.nix {inherit username sshkey sshport;})
     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     ../scripts/xdb.nix
     35     (import ../scripts/vidyascape.nix {inherit pkgs;})
     36     (import ../scripts/restic.nix {inherit pkgs;})
     37   ];
     38   home-manager = {
     39     backupFileExtension = "hm-bak";
     40     users.${username} = {pkgs, ...}: {
     41       imports = [
     42         ../home/alacritty.nix
     43         ../home/cursor.nix
     44         ../home/espanso.nix
     45         ../home/firefox.nix
     46         (import ../home/fish.nix {inherit pkgs domain;})
     47         (import ../home/git.nix {inherit fullname email;})
     48         ../home/htop.nix
     49         ../home/hyprland.nix
     50         (import ../home/iamb.nix {inherit matrixuser matrixserver;})
     51         ../home/lf.nix
     52         ../home/mpv.nix
     53         ../home/neovim.nix
     54         (import ../home/newsboat.nix {inherit pkgs domain username;})
     55         (import ../home/rbw.nix {inherit pkgs domain email;})
     56         (import ../home/ssh.nix {inherit domain username sshport privatekey;})
     57         ../home/tofi.nix
     58       ];
     59       home.stateVersion = "24.11";
     60     };
     61   };
     62 
     63   # Hardware and system
     64   boot = {
     65     initrd = {
     66       availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
     67       kernelModules = [ ];
     68     };
     69     kernelModules = [ "kvm-intel" ];
     70     extraModulePackages = [ ];
     71     loader = {
     72       systemd-boot.enable = true;
     73       efi.canTouchEfiVariables = true;
     74     };
     75   };
     76   hardware.graphics = {
     77     enable = true;
     78     enable32Bit = true;
     79     };
     80   hardware.firmware = [ pkgs.linux-firmware ];
     81   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
     82   hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
     83 
     84   # Packages
     85   environment.systemPackages = with pkgs; [
     86     ntfs3g
     87     glib
     88   ];
     89 
     90   system.stateVersion = "24.11"; # Did you read the comment?
     91 
     92 }