Compare commits

...

44 Commits

Author SHA1 Message Date
aaron a61b330288 Merge pull request 'feature/copypaste' (#30) from feature/copypaste into main
Reviewed-on: #30
2026-03-16 19:47:22 +01:00
aaron 03c520923c Merge pull request 'feature(ghostty): add ssh-terminfo and ssh-env as fallback' (#29) from feature/ssh-terminfo into main
Reviewed-on: #29
2026-03-15 23:03:59 +01:00
aaron a193a08f0b feature(ghostty): add ssh-terminfo and ssh-env as fallback 2026-03-15 23:02:44 +01:00
aaron 34cad2a944 fix(omz): replace initBeforeCompInit due to deprication 2026-03-14 20:23:19 +01:00
aaron eda6cd9997 feature(tmux): fix copy-paste issues for tmux and opencode 2026-03-14 16:44:14 +01:00
aaron 0e68a12e47 Merge pull request 'feature/add_devenv' (#28) from feature/add_devenv into main
Reviewed-on: #28
2026-03-13 16:59:02 +01:00
aaron d5ce65c91d chore(flake): update flake file to latest state 2026-03-12 19:38:23 +01:00
aaron 4944f87ce9 feature(devenv): add devenv to home-manager 2026-03-12 19:32:02 +01:00
aaron 81b04a8b1c Merge pull request 'improve zsh config' (#27) from feautre/zshimprovements into main
Reviewed-on: #27
2026-03-07 21:07:50 +01:00
aaron ea30328d6b feature(zsh): only display a theme with glyphs if the terminal is able to render them 2026-03-07 21:06:33 +01:00
aaron 97f782b3d9 Merge pull request 'update and cleanup' (#26) from feature/cleanup into main
Reviewed-on: #26
2026-03-06 23:01:47 +01:00
aaron ad50c751d6 chore(update): update flake file 2026-03-06 22:28:18 +01:00
aaron 3494a85734 refactor(noctalia): remove quickshell dependency as noctalia-qs already gets pulled in by the flake 2026-03-06 22:21:11 +01:00
aaron fcb0161e83 Merge pull request 'feature/argon' (#25) from feature/argon into main
Reviewed-on: #25
2026-03-06 18:37:01 +01:00
aaron 9b02617698 refactor(drives): add disclaimer and change order 2026-03-06 18:34:15 +01:00
aaron bd6546263b refactor(greetd): rename package to omit warning 2026-03-06 18:25:28 +01:00
aaron 53c2cf1a63 refactor(graphics): add amdgpu_top to systempackages 2026-03-06 18:16:40 +01:00
aaron 80638a920b feature(greeter): replace sddm with greetd since sddm has issues with rdna4 2026-03-05 22:15:56 +01:00
aaron e4674e5828 refactor(networking): remove general hostname 2026-03-05 21:58:56 +01:00
aaron 16ea94e160 feature(graphics): add amdgpu_top to the default pkgs 2026-03-05 21:58:36 +01:00
aaron afd3113cf3 feature(graphics): add amdgpu to the initrd 2026-03-05 21:50:46 +01:00
aaron d7a08c2571 feature(protonvpn): add protonvpn nix module 2026-03-05 21:36:10 +01:00
aaron 8cdcb15618 fix(drives): remove password fallback 2026-03-05 21:23:34 +01:00
aaron a0fd1e9264 feature(drives): add encrypted drives for argon 2026-03-05 20:53:40 +01:00
aaron d60bdd1245 fix(noctalia): add quickshell since it is a dependency of noctalia 2026-03-05 20:52:51 +01:00
aaron 404868aa85 refactor(shell): remove omz config from users file and add to home-manager 2026-03-05 20:52:19 +01:00
aaron 7566d0d1ef fix(graphics): explicitly add graphics accelleration 2026-03-05 20:50:50 +01:00
aaron 6a132670e2 fix(hostnames): move hostname to configuration.nix 2026-03-05 17:38:00 +01:00
aaron f182b2418a feature(argon): add config for argon 2026-03-05 17:37:12 +01:00
aaron eb0bc149e8 Merge pull request 'chore(flake): update flake lock to the latest version' (#24) from feature/update into main
Reviewed-on: #24
2026-03-04 17:16:10 +01:00
aaron f53a2aceee chore(flake): update flake lock to the latest version 2026-03-04 17:10:18 +01:00
aaron d64f10ad3f Merge pull request 'add docker to the system' (#23) from feature/docker into main
Reviewed-on: #23
2026-02-22 18:14:40 +01:00
aaron cc44e68a2e feature(users): add docker group to the main user 2026-02-21 21:17:19 +01:00
aaron b97d6cc47d feature(neon): add docker to neon 2026-02-21 21:16:42 +01:00
aaron 0d495039ee feature(docker): add docker daemon config for nixos 2026-02-21 21:16:17 +01:00
aaron 64b76ad7fd Merge pull request 'feature(ssh): add more security to the ssh config' (#22) from feature/openssh into main
Reviewed-on: #22
2026-02-21 18:09:31 +01:00
aaron aea7ba5c97 feature(ssh): add more security to the ssh config 2026-02-21 18:04:47 +01:00
aaron 135f2bdac9 Merge pull request 'refactor(installguide): unify device naming, add notes and correct typos' (#21) from feature/installguide into main
Reviewed-on: #21
2026-02-21 17:56:00 +01:00
aaron d288f6828f refactor(installguide): unify device naming, add notes and correct typos 2026-02-21 17:55:32 +01:00
aaron 159cd6f2f2 Merge pull request 'feature(update): update flake' (#20) from feature/update into main
Reviewed-on: #20
2026-02-19 21:01:57 +01:00
aaron 763a69bf09 feature(update): update flake 2026-02-19 20:53:18 +01:00
aaron 9b6ed91d37 Merge pull request 'feature(update): update flake' (#19) from feature/update into main
Reviewed-on: #19
2026-02-14 13:20:12 +00:00
aaron 39f7658a34 feature(update): update flake 2026-02-14 14:18:32 +01:00
aaron 50b2aaae60 Merge pull request 'refactor(readme): separate installation doc from main readme' (#18) from feature/documentation into main
Reviewed-on: #18
2026-02-08 10:17:27 +00:00
19 changed files with 303 additions and 51 deletions
+15 -22
View File
@@ -4,7 +4,6 @@
- For simplicity I'm using device labels rather than uuids - For simplicity I'm using device labels rather than uuids
1. the partitioning layout should look somewhat like this after the installation 1. the partitioning layout should look somewhat like this after the installation
```bash ```bash
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 476.9G 0 disk nvme0n1 259:0 0 476.9G 0 disk
@@ -13,25 +12,26 @@ nvme0n1 259:0 0 476.9G 0 disk
└─cryptroot 254:0 0 474.9G 0 crypt └─cryptroot 254:0 0 474.9G 0 crypt
├─lvmroot-swap 254:1 0 20G 0 lvm [SWAP] ├─lvmroot-swap 254:1 0 20G 0 lvm [SWAP]
├─lvmroot-home 254:2 0 250G 0 lvm /home ├─lvmroot-home 254:2 0 250G 0 lvm /home
└─lvmroot-root 254:3 0 204.9G 0 lvm /nix/store └─lvmroot-root 254:3 0 204.9G 0 lvm /
``` ```
> Note: `lsblk` may additionally show `/nix/store` as a mountpoint on `lvmroot-root`. This is not a separate partition. NixOS mounts the root device a second time at `/nix/store` with `ro,nosuid,nodev` flags to enforce store immutability at runtime.
2. prepare the installation 2. prepare the installation
```bash ```bash
# format the boot partition # format the boot partition
mkfs.fat -F 32 /dev/sda1 -n "nixboot" mkfs.fat -F 32 /dev/nvme0n1p1 -n "nixboot"
# create an encrypted partition # create an encrypted partition
cryptsetup luksFormat -y --label="nixcrypt" /dev/sda2 cryptsetup luksFormat -y --label="nixcrypt" /dev/nvme0n1p2
# open the encrypted partition and map it to /dev/mapper/cryptroot # open the encrypted partition and map it to /dev/mapper/cryptroot
cryptsetup luksOpen /dev/sda2 cryptroot cryptsetup luksOpen /dev/nvme0n1p2 cryptroot
# create the physical volume # create the physical volume
pvcreate /dev/mapper/cryptroot pvcreate /dev/mapper/cryptroot
# create a volume group inside # create a volume group inside
vgcreate lvmroot /dev/mapper/cryptroot vgcreate lvmroot /dev/mapper/cryptroot
# create the swap volume # create the swap volume
lvcreate --size 8G lvmroot --name nwap lvcreate --size 8G lvmroot --name swap
# if you desire, create a home volume # if you desire, create a home volume
lvcreate --size 150G lvmroot --name home lvcreate --size 150G lvmroot --name home
# create the root volume # create the root volume
@@ -47,7 +47,7 @@ mkswap -L "nixswap" /dev/mapper/lvmroot-swap
# mount root # mount root
mount /dev/disk/by-label/nixroot /mnt mount /dev/disk/by-label/nixroot /mnt
# mount boot # mount boot
mount --mkdir /dev/sda1 /mnt/boot mount --mkdir /dev/nvme0n1p1 /mnt/boot
# again, if you did the home volume # again, if you did the home volume
mount --mkdir /dev/disk/by-label/nixhome /mnt/home mount --mkdir /dev/disk/by-label/nixhome /mnt/home
# turn on swap # turn on swap
@@ -55,13 +55,12 @@ swapon /dev/disk/by-label/nixswap
``` ```
3. prepare nixos 3. prepare nixos
```bash ```bash
# generate templates and update the hardware-configuration.nix # generate templates and update the hardware-configuration.nix
sudo nixos-generate-config --root /mnt nixos-generate-config --root /mnt
# add cryptd to the kernelModules # add dm-crypt and dm-mod to the kernelModules
boot.initrd.kernelModules = [ "dm-snapshot" "cryptd" ]; boot.initrd.kernelModules = [ "dm-crypt" "dm-mod" ];
# add file systems using labels # add file systems using labels
fileSystems."/" = fileSystems."/" =
@@ -86,25 +85,20 @@ boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-label/nixcrypt";
``` ```
4. install nixos 4. install nixos
```bash ```bash
cd /mnt nixos-install
sudo nixos-install
``` ```
## how to deploy the inital config ## how to deploy the initial config
- Don't forget to install the bootloader, if you changed it since `nixos-install` - Don't forget to install the bootloader, if you changed it since `nixos-install`
```bash ```bash
$ sudo nixos-rebuild --install-bootloader switch --flake .#host_name $ sudo nixos-rebuild --install-bootloader switch --flake .#host_name
``` ```
## how to upgrade the system ## how to upgrade the system
```bash ```bash
$ cd /path/to/repo $ cd /path/to/repo
$ sudo nix flake update $ nix flake update
$ sudo nixos-rebuild switch --flake .#host_name $ sudo nixos-rebuild switch --flake .#host_name
$ sudo nix-collect-garbage $ sudo nix-collect-garbage
``` ```
@@ -114,7 +108,6 @@ $ sudo nix-collect-garbage
The tool nix-helper is installed by this configuration. It simplifies administrating nixos and adds more output to the rebuild command. It also features a diff after a successful build. The command uses the `NH_FLAKE` environment variable to be able to run from whatever directory. The tool nix-helper is installed by this configuration. It simplifies administrating nixos and adds more output to the rebuild command. It also features a diff after a successful build. The command uses the `NH_FLAKE` environment variable to be able to run from whatever directory.
Basic commands with a set `NH_FLAKE` variable are: Basic commands with a set `NH_FLAKE` variable are:
```bash ```bash
$ nh os switch $ nh os switch
$ nh os build $ nh os build
Generated
+51 -13
View File
@@ -28,11 +28,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770491427, "lastModified": 1773332277,
"narHash": "sha256-8b+0vixdqGnIIcgsPhjdX7EGPdzcVQqYxF+ujjex654=", "narHash": "sha256-1V+wRrZD9Sw12AQBUWk9CR+XhDZQ8q6yBE0S3Wjbd1M=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "cbd8a72e5fe6af19d40e2741dc440d9227836860", "rev": "4aeef1941f862fe3a70d1b8264b4e289358c2325",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -43,11 +43,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1770197578, "lastModified": 1773122722,
"narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", "narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", "rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -66,11 +66,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1770388595, "lastModified": 1772402258,
"narHash": "sha256-0NvpmDqFcJAtRFJE3RDZWnN7PDJBZutoDtN+Cl8a3DY=", "narHash": "sha256-3DmCFOdmbkFML1/G9gj8Wb+rCCZFPOQtNoMCpqOF8SA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "51abc532525e486176f9a7b24b17908c60017b54", "rev": "21ae25e13b01d3b4cdc750b5f9e7bad68b150c10",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -83,14 +83,15 @@
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ],
"noctalia-qs": "noctalia-qs"
}, },
"locked": { "locked": {
"lastModified": 1770543184, "lastModified": 1773336753,
"narHash": "sha256-2FFYjurrYjCAT6bpN2Fv63G6vDuWybB91uvqBjJfcWE=", "narHash": "sha256-f5UoaExHUvoFuixpxcDXmTL+8UT+VkjwNAuh88/MOrU=",
"owner": "noctalia-dev", "owner": "noctalia-dev",
"repo": "noctalia-shell", "repo": "noctalia-shell",
"rev": "bf1a0f76bb5ca48991d51130022af6bead64d153", "rev": "5ee84e3ab386727eaf4b2381adfdcd86ad94553b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -99,6 +100,28 @@
"type": "github" "type": "github"
} }
}, },
"noctalia-qs": {
"inputs": {
"nixpkgs": [
"noctalia",
"nixpkgs"
],
"systems": "systems_2"
},
"locked": {
"lastModified": 1773175685,
"narHash": "sha256-YOkWzVq7opym1ovJvSCvqpG6OCDGJwPo/EPeRxcGay4=",
"owner": "noctalia-dev",
"repo": "noctalia-qs",
"rev": "6b9eceefde3d47ca83c544b54bcdd358be4cbd2f",
"type": "github"
},
"original": {
"owner": "noctalia-dev",
"repo": "noctalia-qs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
@@ -121,6 +144,21 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",
+17
View File
@@ -53,6 +53,23 @@
} }
]; ];
}; };
argon = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./hosts/argon/hardware-configuration.nix
./hosts/argon/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.aaron.imports = [
nixvim.homeModules.nixvim
./users/aaron/home.nix
];
}
];
};
}; };
}; };
} }
+31
View File
@@ -0,0 +1,31 @@
{ config, pkgs, inputs, ... }:
{
imports = [
../../modules/nixos/audio.nix
../../modules/nixos/bootloader.nix
../../modules/nixos/certificates.nix
../../modules/nixos/drives.nix
../../modules/nixos/gnupg.nix
../../modules/nixos/graphics.nix
../../modules/nixos/greetd.nix
../../modules/nixos/locales.nix
../../modules/nixos/networking.nix
../../modules/nixos/niri.nix
../../modules/nixos/noctalia.nix
../../modules/nixos/openssh.nix
../../modules/nixos/packages.nix
../../modules/nixos/protonvpn.nix
../../modules/nixos/services.nix
../../modules/nixos/settings.nix
../../modules/nixos/steam.nix
../../modules/nixos/users.nix
];
# set hostname
networking.hostName = "argon";
# install state version
system.stateVersion = "25.11"; # Don't change
}
+39
View File
@@ -0,0 +1,39 @@
# 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-crypt dm-mod" ];
boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-label/nixcrypt";
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/mapper/lvmroot-root";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/AC1C-20EB";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
fileSystems."/home" =
{ device = "/dev/mapper/lvmroot-home";
fsType = "ext4";
};
swapDevices =
[ { device = "/dev/mapper/lvmroot-swap"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
+4
View File
@@ -5,6 +5,7 @@
../../modules/nixos/audio.nix ../../modules/nixos/audio.nix
../../modules/nixos/bootloader.nix ../../modules/nixos/bootloader.nix
../../modules/nixos/certificates.nix ../../modules/nixos/certificates.nix
../../modules/nixos/docker.nix
../../modules/nixos/gnupg.nix ../../modules/nixos/gnupg.nix
../../modules/nixos/locales.nix ../../modules/nixos/locales.nix
../../modules/nixos/networking.nix ../../modules/nixos/networking.nix
@@ -19,6 +20,9 @@
../../modules/nixos/users.nix ../../modules/nixos/users.nix
]; ];
# set hostname
networking.hostName = "neon";
# install state version # install state version
system.stateVersion = "25.11"; # Don't change system.stateVersion = "25.11"; # Don't change
} }
+3 -2
View File
@@ -7,10 +7,11 @@
clipboard-paste-protection = false; clipboard-paste-protection = false;
clipboard-read = "allow"; clipboard-read = "allow";
font-family = "0xProto Nerd Font Mono"; font-family = "0xProto Nerd Font Mono";
font-size = 9; font-size = 12;
gtk-titlebar = false; gtk-titlebar = false;
scrollback-limit = 10000; scrollback-limit = 100000;
shell-integration = "zsh"; shell-integration = "zsh";
shell-integration-features = "ssh-env,ssh-terminfo";
theme = "noctalia"; # generated by noctalia-shell theme = "noctalia"; # generated by noctalia-shell
window-decoration = "auto"; window-decoration = "auto";
window-padding-x = 10; window-padding-x = 10;
+1
View File
@@ -7,6 +7,7 @@
fastfetch fastfetch
keepassxc keepassxc
screenfetch screenfetch
devenv
]; ];
# services and other software # services and other software
+13 -3
View File
@@ -1,15 +1,25 @@
{ config, pkgs, inputs, ... }: { config, lib, pkgs, inputs, ... }:
{ {
# configure z-shell to use omz with some plugins
programs.zsh = { programs.zsh = {
enable = true; enable = true;
autosuggestion.enable = true; autosuggestion.enable = true;
syntaxHighlighting.enable = true; syntaxHighlighting.enable = true;
oh-my-zsh = { oh-my-zsh = {
enable = true; enable = true;
theme = "agnoster"; # theme will be set below
#plugins = [ "git" "ssh-agent" ]; theme = "";
plugins = [ "git" "ssh-agent" "gpg-agent" ];
}; };
# only display a fancy theme when glyphs are rendered
initContent = lib.mkOrder 550 ''
if [[ "$TERM" == "linux" || "$TERM" == "screen" ]]; then
ZSH_THEME="gentoo"
else
ZSH_THEME="agnoster"
fi
'';
}; };
# set important env vars # set important env vars
+7 -2
View File
@@ -40,12 +40,17 @@
bind J resize-pane -D 5 bind J resize-pane -D 5
bind K resize-pane -U 5 bind K resize-pane -U 5
bind L resize-pane -R 5 bind L resize-pane -R 5
# Wayland clipboard integration
# Copy selection to both clipboard (Ctrl+V / Shift+Insert) and primary (middle-click)
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy && wl-copy --primary"
bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "wl-copy && wl-copy --primary"
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy && wl-copy --primary"
# Kill commands # Kill commands
bind q kill-window bind q kill-window
bind Q kill-session bind Q kill-session
# Bars # Bars
set -g status-left "#[fg=black,bg=blue,bold] #S#[fg=blue,bg=black,nobold,noitalics,nounderscore]" set -g status-left-length 24
set -g status-left "#[fg=black,bg=blue,bold] #S #[fg=blue,bg=black,nobold,noitalics,nounderscore]" set -g status-left "#[fg=black,bg=blue,bold] #{=20:session_name} #[fg=blue,bg=black,nobold,noitalics,nounderscore]"
set -g status-right "#{prefix_highlight}#[fg=brightblack,bg=black,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] %Y-%m-%d #[fg=white,bg=brightblack,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] %H:%M #[fg=cyan,bg=brightblack,nobold,noitalics,nounderscore]#[fg=black,bg=cyan,bold] #H " set -g status-right "#{prefix_highlight}#[fg=brightblack,bg=black,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] %Y-%m-%d #[fg=white,bg=brightblack,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] %H:%M #[fg=cyan,bg=brightblack,nobold,noitalics,nounderscore]#[fg=black,bg=cyan,bold] #H "
# Windows # Windows
set -g window-status-format "#[fg=black,bg=brightblack,nobold,noitalics,nounderscore] #[fg=white,bg=brightblack]#I #[fg=white,bg=brightblack,nobold,noitalics,nounderscore] #[fg=white,bg=brightblack]#W #F #[fg=brightblack,bg=black,nobold,noitalics,nounderscore]" set -g window-status-format "#[fg=black,bg=brightblack,nobold,noitalics,nounderscore] #[fg=white,bg=brightblack]#I #[fg=white,bg=brightblack,nobold,noitalics,nounderscore] #[fg=white,bg=brightblack]#W #F #[fg=brightblack,bg=black,nobold,noitalics,nounderscore]"
+23
View File
@@ -0,0 +1,23 @@
{ config, lib, pkgs, ...}:
{
virtualisation.docker = {
enable = true;
# Customize Docker daemon settings
daemon.settings = {
dns = [ "1.1.1.1" "8.8.8.8" ];
log-driver = "journald";
registry-mirrors = [ "https://mirror.gcr.io" ];
storage-driver = "overlay2";
};
# Use the rootless mode
rootless = {
enable = true;
setSocketVariable = true;
};
# Install docker-compose
extraPackages = with pkgs; [
docker-compose
];
};
}
+47
View File
@@ -0,0 +1,47 @@
{ config, lib, pkgs, ... }:
# Add encrypted drives to argon
{
# copy keyfiles into initrd to make them available during early boot
boot.initrd.secrets = {
"/etc/nixos/keys/data1.key" = "/etc/nixos/keys/data1.key";
"/etc/nixos/keys/data2.key" = "/etc/nixos/keys/data2.key";
"/etc/nixos/keys/nvmecache.key" = "/etc/nixos/keys/nvmecache.key";
};
# decrypt data drives with keyfiles for argon
boot.initrd.luks.devices = {
"data1" = {
device = "/dev/disk/by-uuid/dfae62cc-bad1-4879-bf9a-461bde833625";
keyFile = "/etc/nixos/keys/data1.key";
};
"data2" = {
device = "/dev/disk/by-uuid/8312edae-9247-481b-a313-52a7f848f027";
keyFile = "/etc/nixos/keys/data2.key";
};
"nvmecache" = {
device = "/dev/disk/by-uuid/2352250e-4ebe-4f9a-bf66-0d4aaa961bd8";
keyFile = "/etc/nixos/keys/nvmecache.key";
};
};
# mount decrypted filesystems
fileSystems."/mnt/data1" = {
device = "/dev/mapper/data1";
fsType = "ext4";
options = [ "nofail" ];
};
fileSystems."/mnt/data2" = {
device = "/dev/mapper/data2";
fsType = "ext4";
options = [ "nofail" ];
};
fileSystems."/mnt/nvmecache" = {
device = "/dev/mapper/nvmecache";
fsType = "ext4";
options = [ "nofail" ];
};
}
+17
View File
@@ -0,0 +1,17 @@
{ config, lib, pkgs, ... }:
{
# enable amd GPU acceleration (mesa, vulkan, egl)
hardware.graphics = {
enable = true;
enable32Bit = true;
};
# install amdgpu_top
environment.systemPackages = with pkgs; [
amdgpu_top
];
# add amdgpu to the initrd for plymouth
hardware.amdgpu.initrd.enable = true;
}
+14
View File
@@ -0,0 +1,14 @@
{ config, lib, pkgs, ... }:
{
# greetd display manager with tuigreet
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri-session";
user = "greeter";
};
};
};
}
-3
View File
@@ -1,9 +1,6 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
# set hostnname
networking.hostName = "neon";
# user networkmanager # user networkmanager
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
+10
View File
@@ -5,5 +5,15 @@
services.openssh = { services.openssh = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
ports = [ 666 ];
settings = {
AuthenticationMethods = "publickey";
KbdInteractiveAuthentication = false;
MaxAuthTries = 5;
PasswordAuthentication = false;
PermitRootLogin = "no";
X11Forwarding = false;
};
}; };
} }
+1
View File
@@ -41,6 +41,7 @@
unzip unzip
usbutils usbutils
vim vim
wl-clipboard
wget wget
which which
xz xz
+9
View File
@@ -0,0 +1,9 @@
{ config, lib, pkgs, ... }:
{
networking.firewall.checkReversePath = false;
environment.systemPackages = with pkgs; [
wireguard-tools
protonvpn-gui
];
}
+1 -6
View File
@@ -5,7 +5,7 @@
users.users.aaron = { users.users.aaron = {
isNormalUser = true; isNormalUser = true;
group = "users"; group = "users";
extraGroups = [ "wheel" "networkmanager" ]; extraGroups = [ "wheel" "networkmanager" "docker" ];
shell = pkgs.zsh; shell = pkgs.zsh;
}; };
@@ -14,10 +14,5 @@
enable = true; enable = true;
enableCompletion = true; enableCompletion = true;
autosuggestions.enable = true; autosuggestions.enable = true;
ohMyZsh = {
enable = true;
plugins = [ "git" "sudo" ];
theme = "gentoo";
};
}; };
} }