nix-configs

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

artemis.nix (2156B)


      1 # Server
      2 {
      3   config,
      4   pkgs,
      5   machine,
      6   username,
      7   email,
      8   fullname,
      9   domain,
     10   sshkey,
     11   sshport,
     12   timezone,
     13   htpasswd,
     14   todosecret,
     15   vpnusername,
     16   vpnpassword,
     17   privatekey,
     18   ...
     19 }: let
     20   home-manager = builtins.fetchTarball https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz; # Stable
     21   # home-manager = builtins.fetchTarball https://github.com/nix-community/home-manager/archive/master.tar.gz; # Unstable
     22 in {
     23   # Core OS imports
     24   imports =
     25     [
     26     ./${machine}-hardware.nix # Include the results of the hardware scan.
     27     (import "${home-manager}/nixos") # Home-Manager
     28     (import ../common/blog-duolingo.nix {inherit pkgs domain username;})
     29     (import ../common/blog-status.nix {inherit pkgs domain username;})
     30     (import ../common/docker.nix {inherit config pkgs username domain timezone htpasswd todosecret vpnusername vpnpassword;})
     31     ../common/flakes.nix
     32     ../common/garbage.nix
     33     (import ../common/locale.nix {inherit pkgs timezone;})
     34     (import ../common/magnets.nix {inherit pkgs username;})
     35     ../common/mount-drives.nix
     36     ../common/packages.nix
     37     (import ../common/restic.nix {inherit pkgs username;})
     38     (import ../common/ssh.nix {inherit username sshkey sshport;})
     39     (import ../common/syncthing.nix {inherit config pkgs username;})
     40     (import ../common/user.nix {inherit config pkgs username fullname;})
     41     ../common/vnstat.nix
     42     (import ../common/stagit-generate.nix {inherit pkgs username;})
     43     ];
     44 
     45   # Home-Manager
     46   home-manager.backupFileExtension = "hm-bak";
     47   home-manager.users.${username} = {pkgs, ...}: {
     48     imports = [
     49       (import ../home/fish.nix {inherit pkgs domain;})
     50       (import ../home/git.nix {inherit fullname email;})
     51       ../home/htop.nix
     52       ../home/neovim.nix
     53       (import ../home/rbw.nix {inherit pkgs domain email;})
     54       (import ../home/rclone.nix {inherit domain username sshport privatekey;})
     55       (import ../home/ssh.nix {inherit domain username sshport privatekey;})
     56     ];
     57     home.stateVersion = "25.05";
     58   };
     59 
     60   networking.hostName = "artemis"; # Define your hostname.
     61 
     62   system.stateVersion = "25.05"; # Did you read the comment?
     63 
     64 }