summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asset/dir_colors218
-rw-r--r--configuration.nix55
-rw-r--r--fish.nix76
-rw-r--r--flake.lock63
-rw-r--r--flake.nix31
-rw-r--r--host/asterix.nix2
-rw-r--r--host/athena.nix78
-rw-r--r--host/atlas.nix89
-rw-r--r--host/automatix.nix31
-rw-r--r--host/hardware/athena.nix17
-rw-r--r--host/hardware/atlas.nix37
-rw-r--r--host/hardware/hephaestus.nix30
-rw-r--r--host/hardware/idefix.nix50
-rw-r--r--host/hardware/majestix.nix31
-rw-r--r--host/hephaestus.nix71
-rw-r--r--host/idefix.nix75
-rw-r--r--host/majestix.nix67
-rw-r--r--host/obelix.nix18
-rw-r--r--host/software/desktop/asset/T-TeleSec_GlobalRoot_Class_2.pem23
-rw-r--r--host/software/desktop/default.nix31
-rw-r--r--host/software/desktop/kit.vpn.nix24
-rw-r--r--host/software/desktop/teensy.nix11
-rw-r--r--host/software/desktop/xterm.nix8
-rw-r--r--host/software/server/build.nix16
-rw-r--r--host/software/server/git.nix8
-rw-r--r--host/software/server/mail.nix8
-rw-r--r--host/software/server/website.nix27
-rw-r--r--host/software/server/wireguard.nix22
-rw-r--r--user/common.nix12
29 files changed, 701 insertions, 528 deletions
diff --git a/asset/dir_colors b/asset/dir_colors
deleted file mode 100644
index bbe79d9..0000000
--- a/asset/dir_colors
+++ /dev/null
@@ -1,218 +0,0 @@
-# Configuration file for dircolors, a utility to help you set the
-# LS_COLORS environment variable used by GNU ls with the --color option.
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
-# Copying and distribution of this file, with or without modification,
-# are permitted provided the copyright notice and this notice are preserved.
-# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
-# slackware version of dircolors) are recognized but ignored.
-# Below, there should be one TERM entry for each termtype that is colorizable
-TERM Eterm
-TERM ansi
-TERM color-xterm
-TERM con132x25
-TERM con132x30
-TERM con132x43
-TERM con132x60
-TERM con80x25
-TERM con80x28
-TERM con80x30
-TERM con80x43
-TERM con80x50
-TERM con80x60
-TERM cons25
-TERM console
-TERM cygwin
-TERM dtterm
-TERM eterm-color
-TERM gnome
-TERM gnome-256color
-TERM hurd
-TERM jfbterm
-TERM konsole
-TERM kterm
-TERM linux
-TERM linux-c
-TERM mach-color
-TERM mach-gnu-color
-TERM mlterm
-TERM putty
-TERM putty-256color
-TERM rxvt
-TERM rxvt-256color
-TERM rxvt-cygwin
-TERM rxvt-cygwin-native
-TERM rxvt-unicode
-TERM rxvt-unicode-256color
-TERM rxvt-unicode256
-TERM screen
-TERM screen-256color
-TERM screen-256color-bce
-TERM screen-bce
-TERM screen-w
-TERM screen.Eterm
-TERM screen.rxvt
-TERM screen.linux
-TERM st
-TERM st-256color
-TERM terminator
-TERM vt100
-TERM xterm
-TERM xterm-16color
-TERM xterm-256color
-TERM xterm-88color
-TERM xterm-color
-TERM xterm-debian
-TERM xterm-termite
-TERM xterm-kitty
-# Below are the color init strings for the basic file types. A color init
-# string consists of one or more of the following numeric codes:
-# Attribute codes:
-# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
-# Text color codes:
-# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
-# Background color codes:
-# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
-#NORMAL 00 # no color code at all
-#FILE 00 # regular file: use no color at all
-RESET 0 # reset to "normal" color
-DIR 00;32 # directory
-LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
- # numerical value, the color is as for the file pointed to.)
-MULTIHARDLINK 00 # regular file with more than one link
-FIFO 40;33 # pipe
-SOCK 01;35 # socket
-DOOR 01;35 # door
-BLK 40;33;01 # block device driver
-CHR 40;33;01 # character device driver
-ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ...
-MISSING 00 # ... and the files they point to
-SETUID 37;41 # file that is setuid (u+s)
-SETGID 30;43 # file that is setgid (g+s)
-CAPABILITY 30;41 # file with capability
-STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
-OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
-STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
-# This is for files with execute permission:
-EXEC 01;32
-# List any file extensions like '.gz' or '.tar' that you would like ls
-# to colorize below. Put the extension, a space, and the color init string.
-# (and any comments you want to add after a '#')
-# If you use DOS-style suffixes, you may want to uncomment the following:
-#.cmd 01;32 # executables (bright green)
-#.exe 01;32
-#.com 01;32
-#.btm 01;32
-#.bat 01;32
-# Or if you want to colorize scripts even if they do not have the
-# executable bit actually set.
-#.sh 01;32
-#.csh 01;32
- # archives or compressed (bright red)
-.tar 01;31
-.tgz 01;31
-.arc 01;31
-.arj 01;31
-.taz 01;31
-.lha 01;31
-.lz4 01;31
-.lzh 01;31
-.lzma 01;31
-.tlz 01;31
-.txz 01;31
-.tzo 01;31
-.t7z 01;31
-.zip 01;31
-.z 01;31
-.Z 01;31
-.dz 01;31
-.gz 01;31
-.lrz 01;31
-.lz 01;31
-.lzo 01;31
-.xz 01;31
-.bz2 01;31
-.bz 01;31
-.tbz 01;31
-.tbz2 01;31
-.tz 01;31
-.deb 01;31
-.rpm 01;31
-.jar 01;31
-.war 01;31
-.ear 01;31
-.sar 01;31
-.rar 01;31
-.alz 01;31
-.ace 01;31
-.zoo 01;31
-.cpio 01;31
-.7z 01;31
-.rz 01;31
-.cab 01;31
-# image formats
-.jpg 01;35
-.jpeg 01;35
-.gif 01;35
-.bmp 01;35
-.pbm 01;35
-.pgm 01;35
-.ppm 01;35
-.tga 01;35
-.xbm 01;35
-.xpm 01;35
-.tif 01;35
-.tiff 01;35
-.png 01;35
-.svg 01;35
-.svgz 01;35
-.mng 01;35
-.pcx 01;35
-.mov 01;35
-.mpg 01;35
-.mpeg 01;35
-.m2v 01;35
-.mkv 01;35
-.webm 01;35
-.ogm 01;35
-.mp4 01;35
-.m4v 01;35
-.mp4v 01;35
-.vob 01;35
-.qt 01;35
-.nuv 01;35
-.wmv 01;35
-.asf 01;35
-.rm 01;35
-.rmvb 01;35
-.flc 01;35
-.avi 01;35
-.fli 01;35
-.flv 01;35
-.gl 01;35
-.dl 01;35
-.xcf 01;35
-.xwd 01;35
-.yuv 01;35
-.cgm 01;35
-.emf 01;35
-# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
-.ogv 01;35
-.ogx 01;35
-# audio formats
-.aac 00;36
-.au 00;36
-.flac 00;36
-.m4a 00;36
-.mid 00;36
-.midi 00;36
-.mka 00;36
-.mp3 00;36
-.mpc 00;36
-.ogg 00;36
-.ra 00;36
-.wav 00;36
-# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
-.oga 00;36
-.opus 00;36
-.spx 00;36
-.xspf 00;36
diff --git a/configuration.nix b/configuration.nix
index 920bf70..538745d 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -1,29 +1,44 @@
-{ config, pkgs, ... }:
-
+{ config, pkgs, pkgs-personal, hostname, ... }:
{
- system.stateVersion = "18.09";
-
imports = [
- ./fish.nix
- ./host/current.nix
./user/common.nix
+ (./host + ("/" + hostname + ".nix"))
];
+ console.keyMap = "de";
+
i18n = {
- consoleKeyMap = "de";
defaultLocale = "en_US.UTF-8";
+ supportedLocales = [
+ "en_US.UTF-8/UTF-8"
+ "de_DE.UTF-8/UTF-8"
+ ];
};
time.timeZone = "Europe/Berlin";
nixpkgs.config.allowUnfree = true;
+ nix = {
+ package = pkgs.nixUnstable;
+
+ settings = {
+ allowed-users = [ "common" ];
+ trusted-users = [ "root" "common" ];
+ };
+
+ extraOptions = ''
+ experimental-features = nix-command flakes
+ '';
+ };
+
networking.nameservers = [
"1.1.1.1"
"2606:4700:4700::1111"
];
programs = {
+ fish.enable = true;
bash.enableCompletion = true;
gnupg.agent = {
enable = true;
@@ -33,22 +48,22 @@
services.openssh = {
enable = true;
- passwordAuthentication = false;
- permitRootLogin = "no";
+ settings = {
+ PasswordAuthentication = false;
+ PermitRootLogin = "no";
+ X11Forwarding = true;
+ };
};
environment = {
- systemPackages = let
- # use latest nvim
- nixpkgs-unstable = import <nixpkgs-unstable> { };
- mypkgs = import <mypkgs> { pkgs = nixpkgs-unstable; };
- in [
- pkgs.psmisc
- pkgs.htop
- pkgs.git
- pkgs.silver-searcher
- pkgs.renameutils
- mypkgs.custom-neovim
+ systemPackages = with pkgs; [
+ psmisc
+ htop
+ git
+ p7zip
+ silver-searcher
+ renameutils
+ pkgs-personal.custom-neovim
];
variables = {
diff --git a/fish.nix b/fish.nix
deleted file mode 100644
index d1e46c9..0000000
--- a/fish.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-{ pkgs, ... }:
-
-{
- programs.fish = {
- enable = true;
-
- shellInit = ''
- set fish_greeting ""
- '';
-
- interactiveShellInit = ''
- eval (dircolors -c ${./asset/dir_colors})
-
- set fish_color_normal white
- set fish_color_command magenta --bold
- set fish_color_param green
- set fish_color_error brred
- set fish_color_operator cyan
- set fish_color_comment white
- set fish_color_cwd green
- set fish_color_quote brown
- set fish_color_autosuggestion 555
- set fish_color_redirection white
- '';
-
- promptInit = ''
- function fish_prompt
- set last_status $status
-
- if not set -q __fish_prompt_normal
- set -g __fish_prompt_normal (set_color normal)
- end
-
- switch $USER
- case root
- if not set -q __fish_prompt_cwd
- if set -q fish_color_cwd_root
- set -g __fish_prompt_cwd (set_color $fish_color_cwd_root)
- else
- set -g __fish_prompt_cwd (set_color $fish_color_cwd)
- end
- end
-
- case '*'
- if not set -q __fish_prompt_cwd
- set -g __fish_prompt_cwd (set_color $fish_color_cwd)
- end
- end
-
- echo -n -s 'λ ' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal"
-
- if test $IN_NIX_SHELL
- if test $NIX_SHELL_NAME
- echo -n -s ' (' $NIX_SHELL_NAME ')'
- else
- echo -n -s ' (nix-shell)'
- end
- end
-
- if test $last_status -gt 0
- set_color $fish_color_cwd_root
- echo -n -s ' ● '
- set_color normal
- else
- echo -n -s ' ● '
- end
- end
-
- function fish_right_prompt
- set_color $fish_color_autosuggestion
- date '+%H:%M:%S'
- set_color normal
- end
- '';
- };
-}
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..30935f7
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,63 @@
+{
+ "nodes": {
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1701952659,
+ "narHash": "sha256-TJv2srXt6fYPUjxgLAL0cy4nuf1OZD4KuA1TrCiQqg0=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "b4372c4924d9182034066c823df76d6eaf1f4ec4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-23.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_2": {
+ "locked": {
+ "lastModified": 1629271619,
+ "narHash": "sha256-by9D3OkEKk4rOzJIMbC0uP2wP3Bt81auP5xmbmPg2a8=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "7bbca9877caed472c6b5866ea09302cfcdce3dbf",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-21.05",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "pkgs-personal": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_2"
+ },
+ "locked": {
+ "lastModified": 1629367653,
+ "narHash": "sha256-TYovgHylzgcVC7M714mPVdCCsnHV9Uh2DiLWhi/KWe8=",
+ "owner": "KnairdA",
+ "repo": "pkgs",
+ "rev": "5e27bc6838920fe2948bc0953a519232bced0397",
+ "type": "github"
+ },
+ "original": {
+ "owner": "KnairdA",
+ "ref": "master",
+ "repo": "pkgs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "nixpkgs": "nixpkgs",
+ "pkgs-personal": "pkgs-personal"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..15d4326
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,31 @@
+{
+ description = "System environment of Adrian Kummerlaender";
+
+ inputs = {
+ nixpkgs.url = github:NixOS/nixpkgs/nixos-23.11;
+ pkgs-personal.url = github:KnairdA/pkgs/master;
+ };
+
+ outputs = { self, nixpkgs, pkgs-personal, ... }: let
+ config = hostname: nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ specialArgs = {
+ inherit pkgs-personal;
+ inherit hostname;
+ };
+ modules = [ ./configuration.nix ];
+ };
+
+ hostnames = builtins.map
+ (h: builtins.replaceStrings [ ".nix" ] [ "" ] h)
+ (builtins.filter
+ (h: h != "")
+ (nixpkgs.lib.mapAttrsToList
+ (name: type: if type == "regular" then name else "")
+ (builtins.readDir ./host)));
+
+ in {
+ nixosConfigurations = builtins.listToAttrs
+ (map (h: { name = h; value = config h; }) hostnames);
+ };
+}
diff --git a/host/asterix.nix b/host/asterix.nix
index 75b23b0..6909832 100644
--- a/host/asterix.nix
+++ b/host/asterix.nix
@@ -52,4 +52,6 @@
};
powerManagement.powertop.enable = true;
+
+ system.stateVersion = "18.09";
}
diff --git a/host/athena.nix b/host/athena.nix
index c37318f..6a7d266 100644
--- a/host/athena.nix
+++ b/host/athena.nix
@@ -4,6 +4,7 @@
imports = [
./hardware/athena.nix
./software/desktop
+ ./software/desktop/xterm.nix
];
boot = {
@@ -12,12 +13,13 @@
efi.canTouchEfiVariables = true;
};
- initrd.luks.devices = [ {
- name = "encrypted";
- device = "/dev/nvme0n1p2";
- preLVM = true;
- allowDiscards = true;
- } ];
+ initrd.luks.devices = {
+ encrypted = {
+ device = "/dev/nvme0n1p2";
+ preLVM = true;
+ allowDiscards = true;
+ };
+ };
};
networking = {
@@ -51,7 +53,7 @@
acpid.enable = true;
xserver = {
- videoDrivers = [ "intel" ];
+ videoDrivers = [ "nvidia" ];
synaptics = {
enable = true;
@@ -61,9 +63,49 @@
minSpeed = "1.5";
};
};
+
+ printing = {
+ enable = true;
+ drivers = [ pkgs.hplip ];
+ };
+
+ avahi = {
+ enable = true;
+ nssmdns = true;
+ };
+ };
+
+ hardware.nvidia = {
+ package = pkgs.linuxPackages.nvidia_x11;
+ prime = {
+ offload.enable = true;
+
+ intelBusId = "PCI:0:2:0";
+ nvidiaBusId = "PCI:1:0:0";
+ };
+ powerManagement.enable = true;
};
- virtualisation.libvirtd.enable = true;
+ environment.systemPackages = [
+ pkgs.zenith-nvidia
+ pkgs.virt-manager
+ (pkgs.writeScriptBin "nvidia-offload" ''
+ export __NV_PRIME_RENDER_OFFLOAD=1
+ export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
+ export __GLX_VENDOR_LIBRARY_NAME=nvidia
+ export __VK_LAYER_NV_optimus=NVIDIA_only
+ exec -a "$0" "$@"
+ '')
+ ];
+
+ virtualisation = {
+ libvirtd.enable = true;
+ docker = {
+ enable = true;
+ enableNvidia = true;
+ };
+ };
+ users.users.common.extraGroups = [ "docker" ];
hardware.trackpoint = {
enable = true;
@@ -73,22 +115,18 @@
hardware.bluetooth.enable = true;
- hardware.opengl.extraPackages = [ pkgs.intel-ocl ];
-
services.tlp = {
enable = true;
- extraConfig = ''
- RESTORE_DEVICE_STATE_ON_STARTUP=1
- DEVICES_TO_DISABLE_ON_STARTUP="wwan"
- '';
+ settings = {
+ RESTORE_DEVICE_STATE_ON_STARTUP = 1;
+ START_CHARGE_THRESH_BAT0 = 75;
+ STOP_CHARGE_THRESH_BAT0 = 85;
+ CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
+ ENERGY_PERF_POLICY_ON_BAT = "powersave";
+ };
};
powerManagement.powertop.enable = true;
- i18n = {
- consoleFont = "ter-132n";
- consolePackages = [ pkgs.terminus_font ];
- };
-
- boot.earlyVconsoleSetup = true;
+ system.stateVersion = "21.11";
}
diff --git a/host/atlas.nix b/host/atlas.nix
new file mode 100644
index 0000000..4611ed7
--- /dev/null
+++ b/host/atlas.nix
@@ -0,0 +1,89 @@
+{ pkgs, ... }:
+
+{
+ imports = [
+ ./hardware/atlas.nix
+ ./software/desktop
+ ./software/desktop/xterm.nix
+ ];
+
+ networking = {
+ hostName = "atlas";
+ networkmanager.enable = true;
+ };
+
+ services.xserver = {
+ videoDrivers = [ "nvidia" ];
+ };
+
+ hardware.nvidia.package = pkgs.linuxPackages.nvidia_x11;
+
+ environment.systemPackages = with pkgs; [
+ nvtop
+ ];
+
+ virtualisation.docker = {
+ enable = true;
+ enableNvidia = true;
+ autoPrune = {
+ enable = true;
+ dates = "daily";
+ };
+ };
+ users.users.common.extraGroups = [ "docker" ];
+
+ networking.wireguard.interfaces = {
+ wg0 = {
+ ips = [ "10.100.0.3/24" ];
+
+ privateKeyFile = "/etc/wireguard/private";
+
+ peers = [
+ { # automatix
+ publicKey = "B0tkjq+5SfECKx1gWEP5JVWOIaRWL2JNE7iSpMmN4F0=";
+ allowedIPs = [ "10.100.0.0/24" ];
+ endpoint = "kummerlaender.eu:54321";
+ persistentKeepalive = 10;
+ }
+ ];
+ };
+ };
+
+ networking.firewall = {
+ enable = true;
+ interfaces."wg0".allowedTCPPorts = [ 5900 8080 8888 ];
+ };
+
+ services.printing = {
+ enable = true;
+ drivers = [ pkgs.hplip ];
+ };
+
+ services.gitlab-runner = {
+ enable = true;
+ services = {
+ openlb-ci = {
+ executor = "shell";
+ registrationConfigFile = "/etc/gitlab-runner.conf";
+ tagList = [ "nix" "has-gpu" ];
+ limit = 1;
+ };
+ openlb-ci-extra = {
+ executor = "shell";
+ registrationConfigFile = "/etc/gitlab-runner.conf";
+ tagList = [ "nix" "gcc" "clang" "mpi" "cuda" "has-flake" ];
+ limit = 4;
+ };
+ };
+ };
+
+ systemd.services.gitlab-runner.serviceConfig = {
+ CPUQuota = "400%";
+ MemoryHigh = "8G";
+ };
+
+ users.users.gitlab-runner.isNormalUser = true;
+ nix.settings.allowed-users = [ "gitlab-runner" ];
+
+ system.stateVersion = "23.11";
+}
diff --git a/host/automatix.nix b/host/automatix.nix
index d95f12e..7c6edd0 100644
--- a/host/automatix.nix
+++ b/host/automatix.nix
@@ -12,10 +12,11 @@
boot.loader.grub = {
enable = true;
- version = 2;
device = "/dev/sda";
};
+ nix.settings.allowed-users = [ "public" ];
+
networking = {
hostName = "automatix";
@@ -53,4 +54,32 @@
openDefaultPorts = true;
};
};
+
+ systemd.timers."generate-ical-of-org-agenda" = {
+ enable = true;
+ wantedBy = [ "timers.target" ];
+ timerConfig = {
+ OnCalendar = "daily";
+ Persistent = true;
+ Unit = "generate-ical-of-org-agenda.service";
+ };
+ };
+
+ systemd.services."generate-ical-of-org-agenda" = {
+ enable = true;
+ script = "${pkgs.emacs-nox}/bin/emacs -batch -l /var/lib/syncthing/org-cal-export.el";
+ serviceConfig = {
+ Type = "oneshot";
+ User = "syncthing";
+ };
+ };
+
+ users.users.syncthing.shell = pkgs.bash;
+
+ security.acme = {
+ acceptTerms = true;
+ defaults.email = "key@kummerlaender.eu";
+ };
+
+ system.stateVersion = "18.09";
}
diff --git a/host/hardware/athena.nix b/host/hardware/athena.nix
index 0682645..508507a 100644
--- a/host/hardware/athena.nix
+++ b/host/hardware/athena.nix
@@ -1,31 +1,32 @@
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, modulesPath, ... }:
{
imports =
- [ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
+ [ (modulesPath + "/installer/scan/not-detected.nix")
];
- boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
- boot.kernelModules = [ "kvm-intel" ];
+ boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ];
+ boot.initrd.kernelModules = [ "dm-snapshot" ];
+ boot.kernelModules = [ "kvm-intel" "fuse" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
- { device = "/dev/disk/by-uuid/a382b969-52d6-4946-ae8a-5da3f612410c";
+ { device = "/dev/disk/by-uuid/3af135f5-9bfe-4ab4-abb3-2e93caad08ea";
fsType = "ext4";
};
fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/CC5B-E0DA";
+ { device = "/dev/disk/by-uuid/6290-9BB5";
fsType = "vfat";
};
swapDevices =
- [ { device = "/dev/disk/by-uuid/96edaf95-23ce-4859-b82f-048711d2a8d2"; }
+ [ { device = "/dev/disk/by-uuid/b3845af4-030a-4bba-bad8-89c548bde40f"; }
];
- nix.maxJobs = lib.mkDefault 4;
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
diff --git a/host/hardware/atlas.nix b/host/hardware/atlas.nix
new file mode 100644
index 0000000..61bca06
--- /dev/null
+++ b/host/hardware/atlas.nix
@@ -0,0 +1,37 @@
+{ config, lib, pkgs, modulesPath, ... }:
+
+{
+ boot = {
+ initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
+ initrd.kernelModules = [ ];
+ kernelModules = [ "kvm-intel" ];
+ extraModulePackages = [ ];
+
+ loader = {
+ systemd-boot.enable = true;
+ efi.canTouchEfiVariables = true;
+ };
+ };
+
+ fileSystems."/" = {
+ device = "/dev/disk/by-uuid/34f1948d-36a7-4c1f-95fe-5dc7dd53a46e";
+ fsType = "ext4";
+ };
+
+ boot.initrd.luks.devices = {
+ "luks-f6c3a1a8-bc09-4fcd-a979-4fe82dc4dc71".device = "/dev/disk/by-uuid/f6c3a1a8-bc09-4fcd-a979-4fe82dc4dc71";
+ "luks-49b6b8ab-1d8f-43d3-ba58-d548316f197a".device = "/dev/disk/by-uuid/49b6b8ab-1d8f-43d3-ba58-d548316f197a";
+ };
+
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/D45E-0E82";
+ fsType = "vfat";
+ };
+
+ swapDevices = [ { device = "/dev/disk/by-uuid/f198c957-dc39-4973-86c0-8fde06672ff9"; } ];
+
+ networking.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+}
diff --git a/host/hardware/hephaestus.nix b/host/hardware/hephaestus.nix
new file mode 100644
index 0000000..69a69cf
--- /dev/null
+++ b/host/hardware/hephaestus.nix
@@ -0,0 +1,30 @@
+# Do not modify this file! It was generated by ‘nixos-generate-config’
+# and may be overwritten by future invocations. Please make changes
+# to /etc/nixos/configuration.nix instead.
+{ config, lib, pkgs, modulesPath, ... }:
+
+{
+ imports =
+ [ (modulesPath + "/installer/scan/not-detected.nix")
+ ];
+
+ boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
+ boot.initrd.kernelModules = [ "dm-snapshot" ];
+ boot.kernelModules = [ "kvm-amd" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" =
+ { device = "/dev/disk/by-uuid/4137e9a6-a4cd-4758-a9db-ae684d17e4de";
+ fsType = "ext4";
+ };
+
+ fileSystems."/boot" =
+ { device = "/dev/disk/by-uuid/0CF7-ED16";
+ fsType = "vfat";
+ };
+
+ swapDevices =
+ [ { device = "/dev/disk/by-uuid/b4d536f0-9b83-44a8-84f3-f44c1deee870"; }
+ ];
+
+}
diff --git a/host/hardware/idefix.nix b/host/hardware/idefix.nix
new file mode 100644
index 0000000..73795f8
--- /dev/null
+++ b/host/hardware/idefix.nix
@@ -0,0 +1,50 @@
+# Do not modify this file! It was generated by ‘nixos-generate-config’
+# and may be overwritten by future invocations. Please make changes
+# to /etc/nixos/configuration.nix instead.
+{ config, lib, pkgs, modulesPath, ... }:
+
+{
+ imports =
+ [ (modulesPath + "/installer/scan/not-detected.nix")
+ ];
+
+ boot = {
+ initrd = {
+ availableKernelModules = [ "ahci" "xhci_pci" "usb_storage" "sd_mod" "rtsx_usb_sdmmc" ];
+ kernelModules = [ ];
+ secrets = {
+ "/crypto_keyfile.bin" = null;
+ };
+ # Enable swap on luks
+ luks.devices."luks-d66399c9-3eb8-4ebc-9855-9aae346feabf".device = "/dev/disk/by-uuid/d66399c9-3eb8-4ebc-9855-9aae346feabf";
+ luks.devices."luks-d66399c9-3eb8-4ebc-9855-9aae346feabf".keyFile = "/crypto_keyfile.bin";
+ luks.devices."luks-1747c7bf-b0e6-4202-8e00-393c0e5a01f2".device = "/dev/disk/by-uuid/1747c7bf-b0e6-4202-8e00-393c0e5a01f2";
+ };
+ kernelModules = [ "kvm-intel" ];
+ extraModulePackages = [ ];
+ loader = {
+ systemd-boot.enable = true;
+ efi.canTouchEfiVariables = true;
+ efi.efiSysMountPoint = "/boot/efi";
+ };
+ };
+
+ fileSystems."/" =
+ { device = "/dev/disk/by-uuid/a368ee22-54d1-45ff-b61b-529b9b438e52";
+ fsType = "ext4";
+ };
+
+
+ fileSystems."/boot/efi" =
+ { device = "/dev/disk/by-uuid/F393-BC14";
+ fsType = "vfat";
+ };
+
+ swapDevices =
+ [ { device = "/dev/disk/by-uuid/51ac8775-7ff6-4869-addb-fe139198e7c8"; }
+ ];
+
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+
+ hardware.bluetooth.enable = true;
+}
diff --git a/host/hardware/majestix.nix b/host/hardware/majestix.nix
deleted file mode 100644
index 5c78ed8..0000000
--- a/host/hardware/majestix.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-# Do not modify this file! It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations. Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, ... }:
-
-{
- imports =
- [ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
- ];
-
- boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "sd_mod" "sr_mod" ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/6eb9a8c7-0384-4c47-9e4e-24d2ed57fc2e";
- fsType = "ext4";
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/e8a055f9-4293-4a55-9974-9ca39bf209cd";
- fsType = "ext2";
- };
-
- swapDevices =
- [ { device = "/dev/disk/by-uuid/b27d07d6-bc07-4e7c-bd14-2b67c89dbf20"; }
- ];
-
- nix.maxJobs = lib.mkDefault 8;
- powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
-}
diff --git a/host/hephaestus.nix b/host/hephaestus.nix
new file mode 100644
index 0000000..3c22dbe
--- /dev/null
+++ b/host/hephaestus.nix
@@ -0,0 +1,71 @@
+{ pkgs, ... }:
+
+{
+ imports = [
+ ./hardware/hephaestus.nix
+ ./software/desktop
+ ./software/desktop/xterm.nix
+ ./software/desktop/teensy.nix
+ ];
+
+ boot = {
+ loader = {
+ systemd-boot = {
+ enable = true;
+ configurationLimit = 3;
+ };
+ efi.canTouchEfiVariables = true;
+ };
+
+ initrd.luks.devices = {
+ encrypted = {
+ device = "/dev/nvme0n1p5";
+ preLVM = true;
+ allowDiscards = true;
+ };
+ };
+ };
+
+ networking = {
+ hostName = "hephaestus";
+ firewall.enable = false;
+ networkmanager.enable = true;
+ };
+
+ services.xserver = {
+ videoDrivers = [ "nvidia" ];