Compare commits
25 Commits
feature/ba
...
d1222fc204
| Author | SHA1 | Date | |
|---|---|---|---|
| d1222fc204 | |||
|
da8fa17202
|
|||
| e143872f25 | |||
|
db22935910
|
|||
| b62d9f7630 | |||
|
20e19bb0be
|
|||
|
c31478461e
|
|||
|
073d257ca8
|
|||
|
7b50d5327c
|
|||
| 642e723fd6 | |||
|
9a8090dac2
|
|||
|
4e9ffcf6bd
|
|||
|
02a5d03d1a
|
|||
|
b480e8224d
|
|||
|
32a62aadd4
|
|||
|
619c00e678
|
|||
|
a02da7f66d
|
|||
|
8b616b65af
|
|||
|
17158618ee
|
|||
| 64a12d1cae | |||
|
2fb937b19f
|
|||
|
a7c5cbad41
|
|||
| 52a4a7aca0 | |||
|
e420a4d8b3
|
|||
| 5e19eb0d9a |
61
flake.lock
generated
61
flake.lock
generated
@@ -28,11 +28,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773332277,
|
||||
"narHash": "sha256-1V+wRrZD9Sw12AQBUWk9CR+XhDZQ8q6yBE0S3Wjbd1M=",
|
||||
"lastModified": 1774210133,
|
||||
"narHash": "sha256-yeiWCY9aAUUJ3ebMVjs0UZXRnT5x90MCtpbpOWiXrvM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "4aeef1941f862fe3a70d1b8264b4e289358c2325",
|
||||
"rev": "c6fe2944ad9f2444b2d767c4a5edee7c166e8a95",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -43,11 +43,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1773122722,
|
||||
"narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=",
|
||||
"lastModified": 1774106199,
|
||||
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50",
|
||||
"rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -57,6 +57,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1770107345,
|
||||
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
@@ -87,11 +103,11 @@
|
||||
"noctalia-qs": "noctalia-qs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773336753,
|
||||
"narHash": "sha256-f5UoaExHUvoFuixpxcDXmTL+8UT+VkjwNAuh88/MOrU=",
|
||||
"lastModified": 1774259083,
|
||||
"narHash": "sha256-e2sjF/NQVZW8mwHLkFQnABBVaGxS2BkAKnLDg5hU0Kk=",
|
||||
"owner": "noctalia-dev",
|
||||
"repo": "noctalia-shell",
|
||||
"rev": "5ee84e3ab386727eaf4b2381adfdcd86ad94553b",
|
||||
"rev": "2ea56a6c1fc5658cdf3186157d6a6afafcb252bc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -106,14 +122,15 @@
|
||||
"noctalia",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_2"
|
||||
"systems": "systems_2",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773175685,
|
||||
"narHash": "sha256-YOkWzVq7opym1ovJvSCvqpG6OCDGJwPo/EPeRxcGay4=",
|
||||
"lastModified": 1774202718,
|
||||
"narHash": "sha256-YueGGmJMHvGZfgQytc2Kbl9aJ31NSHG5nMpY4S1i+r4=",
|
||||
"owner": "noctalia-dev",
|
||||
"repo": "noctalia-qs",
|
||||
"rev": "6b9eceefde3d47ca83c544b54bcdd358be4cbd2f",
|
||||
"rev": "807e330f5a42856f07e72197c4d4c22d7855b6c4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -159,6 +176,24 @@
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772660329,
|
||||
"narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "3710e0e1218041bbad640352a0440114b1e10428",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
78
flake.nix
78
flake.nix
@@ -1,6 +1,6 @@
|
||||
{
|
||||
description = "0x29a NixOS flake";
|
||||
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
home-manager = {
|
||||
@@ -16,60 +16,30 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,11 +3,6 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# use flakes
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
|
||||
@@ -22,5 +22,6 @@
|
||||
plugins.telescope.enable = true;
|
||||
plugins.web-devicons.enable = true;
|
||||
plugins.indent-blankline.enable = true;
|
||||
extraPlugins = [ pkgs.vimPlugins.plenary-nvim ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
# user packages
|
||||
home.packages = with pkgs; [
|
||||
discord
|
||||
teamspeak6-client
|
||||
fastfetch
|
||||
keepassxc
|
||||
screenfetch
|
||||
devenv
|
||||
];
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
networking.firewall.allowedTCPPorts = [ ];
|
||||
networking.firewall.allowedUDPPorts = [ ];
|
||||
|
||||
# enable wifi firmware
|
||||
hardware.enableAllFirmware = true;
|
||||
|
||||
# enable bluetooth
|
||||
hardware.bluetooth.enable = true;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
users.users.aaron = {
|
||||
isNormalUser = true;
|
||||
group = "users";
|
||||
extraGroups = [ "wheel" "networkmanager" "docker" ];
|
||||
extraGroups = [ "wheel" "networkmanager" ];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user