Compare commits

...

16 Commits

Author SHA1 Message Date
db22935910 fix(nvim): add plenary as extraPlugins 2026-03-24 16:17:30 +01:00
b62d9f7630 Merge pull request 'feature/update' (#35) from feature/update into main
Reviewed-on: #35
2026-03-23 13:17:38 +01:00
20e19bb0be fix(gtk4): adopt the new default behavior and silence a compilation warning 2026-03-23 13:15:54 +01:00
c31478461e fix(sddm): add theme to system packages so the path will be symlinked 2026-03-23 13:14:20 +01:00
073d257ca8 chore(flake): update flake lock to the latest version 2026-03-23 13:13:01 +01:00
7b50d5327c chore(flake): update flake lock to the latest version 2026-03-21 19:32:56 +01:00
642e723fd6 Merge pull request 'cleanup repository' (#34) from feature/repo_cleanup into main
Reviewed-on: #34
2026-03-21 18:08:19 +01:00
9a8090dac2 refactor(wireguard): set checkReversePath to loose instead of false 2026-03-21 16:45:09 +01:00
4e9ffcf6bd refactor(unfree): move the unfree setting to the settings module 2026-03-21 16:43:43 +01:00
02a5d03d1a refactor(packages): move installed packages to their respective nix modules 2026-03-21 16:43:05 +01:00
b480e8224d refactor(flake): simplify nix flake by deduplication 2026-03-21 16:41:34 +01:00
32a62aadd4 refactor(networking): drop wireless enable since it installs wpa_supplicant and rely on networkmanager instead 2026-03-21 16:40:24 +01:00
619c00e678 refactor(locales): fix internationalisation to switzerland norms 2026-03-21 16:39:30 +01:00
a02da7f66d refactor(programs): uninstall screenfetch since it is unmaintained software 2026-03-21 16:38:55 +01:00
8b616b65af refactor(default): remove hardware import from default target since it is a dublicate 2026-03-21 16:38:17 +01:00
17158618ee refactor(docker): move the docker group to the respective nix module instead of adding the user per default 2026-03-21 16:37:31 +01:00
15 changed files with 68 additions and 100 deletions

24
flake.lock generated
View File

@@ -28,11 +28,11 @@
]
},
"locked": {
"lastModified": 1774007980,
"narHash": "sha256-FOnZjElEI8pqqCvB6K/1JRHTE8o4rer8driivTpq2uo=",
"lastModified": 1774210133,
"narHash": "sha256-yeiWCY9aAUUJ3ebMVjs0UZXRnT5x90MCtpbpOWiXrvM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "9670de2921812bc4e0452f6e3efd8c859696c183",
"rev": "c6fe2944ad9f2444b2d767c4a5edee7c166e8a95",
"type": "github"
},
"original": {
@@ -43,11 +43,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1773821835,
"narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=",
"lastModified": 1774106199,
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0",
"rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
"type": "github"
},
"original": {
@@ -103,11 +103,11 @@
"noctalia-qs": "noctalia-qs"
},
"locked": {
"lastModified": 1774014047,
"narHash": "sha256-pSbjavFqmHzbR4aG+22k81yGgjIUrV64UePEf4m/s5U=",
"lastModified": 1774259083,
"narHash": "sha256-e2sjF/NQVZW8mwHLkFQnABBVaGxS2BkAKnLDg5hU0Kk=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "e2ba46ed122082a15841be9e2b9fb392395c5a4f",
"rev": "2ea56a6c1fc5658cdf3186157d6a6afafcb252bc",
"type": "github"
},
"original": {
@@ -126,11 +126,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1773842483,
"narHash": "sha256-oRqz+5AbNKfUWWwN5c83CsSOsUWVGITh0HZg+wX5Q/8=",
"lastModified": 1774202718,
"narHash": "sha256-YueGGmJMHvGZfgQytc2Kbl9aJ31NSHG5nMpY4S1i+r4=",
"owner": "noctalia-dev",
"repo": "noctalia-qs",
"rev": "3962ff1e0b59ef067c57199d31271ddbf23b29cd",
"rev": "807e330f5a42856f07e72197c4d4c22d7855b6c4",
"type": "github"
},
"original": {

View File

@@ -17,59 +17,29 @@
};
};
outputs = { self, nixpkgs, home-manager, nixvim, ... }@inputs: {
outputs = { self, nixpkgs, home-manager, nixvim, ... }@inputs:
let
mkHost = hostName: nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./hosts/${hostName}/hardware-configuration.nix
./hosts/${hostName}/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.aaron.imports = [
nixvim.homeModules.nixvim
./users/aaron/home.nix
];
}
];
};
in {
nixosConfigurations = {
default = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./hosts/default/hardware-configuration.nix
./hosts/default/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.aaron.imports = [
nixvim.homeModules.nixvim
./users/aaron/home.nix
];
}
];
};
neon = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./hosts/neon/hardware-configuration.nix
./hosts/neon/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.aaron.imports = [
nixvim.homeModules.nixvim
./users/aaron/home.nix
];
}
];
};
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
];
}
];
};
default = mkHost "default";
neon = mkHost "neon";
argon = mkHost "argon";
};
};
}

View File

@@ -3,11 +3,6 @@
{ pkgs, lib, ... }:
{
imports =
[
./hardware-configuration.nix
];
# use flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ];

View File

@@ -22,5 +22,6 @@
plugins.telescope.enable = true;
plugins.web-devicons.enable = true;
plugins.indent-blankline.enable = true;
extraPlugins = [ pkgs.vimPlugins.plenary-nvim ];
};
}

View File

@@ -6,7 +6,6 @@
discord
fastfetch
keepassxc
screenfetch
devenv
];

View File

@@ -9,6 +9,7 @@
package = pkgs.gnome-themes-extra;
};
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
gtk4.theme = null;
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
};

View File

@@ -1,6 +1,9 @@
{ config, lib, pkgs, ...}:
{
# add docker group to user
users.users.aaron.extraGroups = [ "docker" ];
virtualisation.docker = {
enable = true;
# Customize Docker daemon settings

View File

@@ -4,18 +4,18 @@
# set the time zone
time.timeZone = "Europe/Zurich";
# set internationalisation properties
# keep system language in english, but use swiss locale for formatting
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
LC_ADDRESS = "de_CH.UTF-8";
LC_IDENTIFICATION = "de_CH.UTF-8";
LC_MEASUREMENT = "de_CH.UTF-8";
LC_MONETARY = "de_CH.UTF-8";
LC_NAME = "de_CH.UTF-8";
LC_NUMERIC = "de_CH.UTF-8";
LC_PAPER = "de_CH.UTF-8";
LC_TELEPHONE = "de_CH.UTF-8";
LC_TIME = "de_CH.UTF-8";
};
# set console font and keymap

View File

@@ -8,9 +8,8 @@
networking.firewall.allowedTCPPorts = [ ];
networking.firewall.allowedUDPPorts = [ ];
# enable wifi
# enable wifi firmware
hardware.enableAllFirmware = true;
networking.wireless.enable = true;
# enable bluetooth
hardware.bluetooth.enable = true;

View File

@@ -1,24 +1,19 @@
{ config, lib, pkgs, ... }:
{
# system packges
# system packages
environment.systemPackages = with pkgs; [
alacritty
btop
cowsay
dnsutils
ethtool
file
fwupd
fwupd-efi
ghostty
git
imagemagick
imv
iperf3
jq
kdePackages.qtmultimedia
kitty
ldns
lm_sensors
lsof
@@ -31,12 +26,10 @@
nvd
p7zip
pciutils
sddm-astronaut
socat
sof-firmware
strace
sysstat
terminus_font
tree
unzip
usbutils

View File

@@ -1,9 +1,13 @@
{ config, lib, pkgs, ... }:
{
networking.firewall.checkReversePath = false;
# protonvpn uses wireguard tunnels, which break strict reverse path filtering
# because packets arrive on the tunnel interface but may be routed back differently.
# "loose" checks that the source is routable through *any* interface (not necessarily
# the same one), which is sufficient for wireguard while still preventing IP spoofing.
networking.firewall.checkReversePath = "loose";
environment.systemPackages = with pkgs; [
wireguard-tools
protonvpn-gui
];
}

View File

@@ -17,4 +17,9 @@
sddm-astronaut
];
};
# Make the theme available in the system path so sddm can find it
environment.systemPackages = with pkgs; [
sddm-astronaut
];
}

View File

@@ -32,10 +32,11 @@
};
};
# allow unfree packages (steam, protonvpn, discord, etc.)
nixpkgs.config.allowUnfree = true;
# links /libexec from derivations to /run/current-system/sw
environment.pathsToLink = [ "/libexec" ];
# set the default editor to vim
environment.variables.EDITOR = "vim";
# enable home-manager globally
home-manager.useGlobalPkgs = true;

View File

@@ -1,9 +1,6 @@
{ config, lib, pkgs, ... }:
{
# allow unfree to install steam
nixpkgs.config.allowUnfree = true;
# enable steam and open firewall
programs.steam = {
enable = true;

View File

@@ -5,7 +5,7 @@
users.users.aaron = {
isNormalUser = true;
group = "users";
extraGroups = [ "wheel" "networkmanager" "docker" ];
extraGroups = [ "wheel" "networkmanager" ];
shell = pkgs.zsh;
};