Compare commits
50 Commits
feature/cl
...
9f0ee40cc3
| Author | SHA1 | Date | |
|---|---|---|---|
| 9f0ee40cc3 | |||
|
68fc3a2df2
|
|||
| 5dfc62fc83 | |||
|
1b82de5c92
|
|||
|
c1d1fb7793
|
|||
| e6bc267161 | |||
|
212dddaffd
|
|||
|
58509367a3
|
|||
|
fdc93aff91
|
|||
|
f9f9c72498
|
|||
|
0fdada8766
|
|||
|
554462128e
|
|||
|
7c0bbf18c8
|
|||
| 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 | |||
|
b9450f1bca
|
|||
| a61b330288 | |||
| 03c520923c | |||
|
a193a08f0b
|
|||
|
34cad2a944
|
|||
|
eda6cd9997
|
|||
| 0e68a12e47 | |||
|
d5ce65c91d
|
|||
|
4944f87ce9
|
|||
| 81b04a8b1c | |||
|
ea30328d6b
|
|||
| 97f782b3d9 |
71
flake.lock
generated
71
flake.lock
generated
@@ -28,11 +28,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772807318,
|
"lastModified": 1775683737,
|
||||||
"narHash": "sha256-Qjw6ILt8cb2HQQpCmWNLMZZ63wEo1KjTQt+1BcQBr7k=",
|
"narHash": "sha256-oBYyowo6yfgb95Z78s3uTnAd9KkpJpwzjJbfnpLaM2Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "daa2c221320809f5514edde74d0ad0193ad54ed8",
|
"rev": "7ba4ee4228ed36123c7cb75d50524b43514ef992",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -43,11 +43,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772624091,
|
"lastModified": 1775423009,
|
||||||
"narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=",
|
"narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "80bdc1e5ce51f56b19791b52b2901187931f5353",
|
"rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -66,11 +66,11 @@
|
|||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772402258,
|
"lastModified": 1775307257,
|
||||||
"narHash": "sha256-3DmCFOdmbkFML1/G9gj8Wb+rCCZFPOQtNoMCpqOF8SA=",
|
"narHash": "sha256-y9hEecHH4ennFwIcw1n480YCGh73DkEmizmQnyXuvgg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "21ae25e13b01d3b4cdc750b5f9e7bad68b150c10",
|
"rev": "2e008bb941f72379d5b935d5bfe70ed8b7c793ff",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -87,11 +87,11 @@
|
|||||||
"noctalia-qs": "noctalia-qs"
|
"noctalia-qs": "noctalia-qs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772821410,
|
"lastModified": 1775689927,
|
||||||
"narHash": "sha256-KE3cnl3eKdfoPwo5aTWmb9j2ROPcdaxWCZ9wSt2VDLc=",
|
"narHash": "sha256-UVL4JnAHXs90AiKfhjXBQ83KhiXHAyZ4TdaPkA/ts/g=",
|
||||||
"owner": "noctalia-dev",
|
"owner": "noctalia-dev",
|
||||||
"repo": "noctalia-shell",
|
"repo": "noctalia-shell",
|
||||||
"rev": "c685b70f10bc59180e515ccad86a80a671ce80a0",
|
"rev": "0fcaa49875bf0c994bb5c604320454ef72e6ba8b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -105,14 +105,16 @@
|
|||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"noctalia",
|
"noctalia",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
],
|
||||||
|
"systems": "systems_2",
|
||||||
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772673824,
|
"lastModified": 1775491791,
|
||||||
"narHash": "sha256-TLHXPoELZA6VeuzC1Zpx+MnSsYzrJs+DSieMgfjAOJc=",
|
"narHash": "sha256-elzmRpudiwtYQNCKk9TAEhlYQV0+yUM81poo01Z7FfQ=",
|
||||||
"owner": "noctalia-dev",
|
"owner": "noctalia-dev",
|
||||||
"repo": "noctalia-qs",
|
"repo": "noctalia-qs",
|
||||||
"rev": "f8531192cd09b9ea2e78d18e9cfc9d3dba498690",
|
"rev": "9e2736531ef7a1a336abf7ec72255d0b192273b6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -143,6 +145,43 @@
|
|||||||
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"treefmt-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"noctalia",
|
||||||
|
"noctalia-qs",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1775125835,
|
||||||
|
"narHash": "sha256-2qYcPgzFhnQWchHo0SlqLHrXpux5i6ay6UHA+v2iH4U=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"rev": "75925962939880974e3ab417879daffcba36c4a3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
78
flake.nix
78
flake.nix
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
description = "0x29a NixOS flake";
|
description = "0x29a NixOS flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
@@ -16,60 +16,30 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
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 = {
|
nixosConfigurations = {
|
||||||
|
default = mkHost "default";
|
||||||
default = nixpkgs.lib.nixosSystem {
|
neon = mkHost "neon";
|
||||||
system = "x86_64-linux";
|
argon = mkHost "argon";
|
||||||
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
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,11 +3,6 @@
|
|||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
|
||||||
[
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# use flakes
|
# use flakes
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
gtk-titlebar = false;
|
gtk-titlebar = false;
|
||||||
scrollback-limit = 100000;
|
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;
|
||||||
|
|||||||
@@ -22,5 +22,6 @@
|
|||||||
plugins.telescope.enable = true;
|
plugins.telescope.enable = true;
|
||||||
plugins.web-devicons.enable = true;
|
plugins.web-devicons.enable = true;
|
||||||
plugins.indent-blankline.enable = true;
|
plugins.indent-blankline.enable = true;
|
||||||
|
extraPlugins = [ pkgs.vimPlugins.plenary-nvim ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,13 +3,18 @@
|
|||||||
{
|
{
|
||||||
# user packages
|
# user packages
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
devenv
|
||||||
discord
|
discord
|
||||||
fastfetch
|
fastfetch
|
||||||
keepassxc
|
keepassxc
|
||||||
screenfetch
|
teamspeak6-client
|
||||||
];
|
];
|
||||||
|
|
||||||
# services and other software
|
# services and other software
|
||||||
services.syncthing.enable = true;
|
services.syncthing.enable = true;
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
# browsers
|
||||||
|
programs.chromium.enable = true;
|
||||||
|
programs.firefox.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
theme = "";
|
||||||
plugins = [ "git" "ssh-agent" "gpg-agent" ];
|
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
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
package = pkgs.gnome-themes-extra;
|
package = pkgs.gnome-themes-extra;
|
||||||
};
|
};
|
||||||
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||||
|
gtk4.theme = null;
|
||||||
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
|
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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]"
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
{ config, lib, pkgs, ...}:
|
{ config, lib, pkgs, ...}:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
# add docker group to user
|
||||||
|
users.users.aaron.extraGroups = [ "docker" ];
|
||||||
|
|
||||||
virtualisation.docker = {
|
virtualisation.docker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# Customize Docker daemon settings
|
# Customize Docker daemon settings
|
||||||
|
|||||||
@@ -4,18 +4,18 @@
|
|||||||
# set the time zone
|
# set the time zone
|
||||||
time.timeZone = "Europe/Zurich";
|
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.defaultLocale = "en_US.UTF-8";
|
||||||
i18n.extraLocaleSettings = {
|
i18n.extraLocaleSettings = {
|
||||||
LC_ADDRESS = "en_US.UTF-8";
|
LC_ADDRESS = "de_CH.UTF-8";
|
||||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
LC_IDENTIFICATION = "de_CH.UTF-8";
|
||||||
LC_MEASUREMENT = "en_US.UTF-8";
|
LC_MEASUREMENT = "de_CH.UTF-8";
|
||||||
LC_MONETARY = "en_US.UTF-8";
|
LC_MONETARY = "de_CH.UTF-8";
|
||||||
LC_NAME = "en_US.UTF-8";
|
LC_NAME = "de_CH.UTF-8";
|
||||||
LC_NUMERIC = "en_US.UTF-8";
|
LC_NUMERIC = "de_CH.UTF-8";
|
||||||
LC_PAPER = "en_US.UTF-8";
|
LC_PAPER = "de_CH.UTF-8";
|
||||||
LC_TELEPHONE = "en_US.UTF-8";
|
LC_TELEPHONE = "de_CH.UTF-8";
|
||||||
LC_TIME = "en_US.UTF-8";
|
LC_TIME = "de_CH.UTF-8";
|
||||||
};
|
};
|
||||||
|
|
||||||
# set console font and keymap
|
# set console font and keymap
|
||||||
|
|||||||
@@ -8,6 +8,9 @@
|
|||||||
networking.firewall.allowedTCPPorts = [ ];
|
networking.firewall.allowedTCPPorts = [ ];
|
||||||
networking.firewall.allowedUDPPorts = [ ];
|
networking.firewall.allowedUDPPorts = [ ];
|
||||||
|
|
||||||
|
# enable wifi firmware
|
||||||
|
hardware.enableAllFirmware = true;
|
||||||
|
|
||||||
# enable bluetooth
|
# enable bluetooth
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +1,19 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# system packges
|
# system packages
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
alacritty
|
|
||||||
btop
|
btop
|
||||||
cowsay
|
cowsay
|
||||||
dnsutils
|
dnsutils
|
||||||
ethtool
|
ethtool
|
||||||
file
|
file
|
||||||
fwupd
|
|
||||||
fwupd-efi
|
|
||||||
ghostty
|
|
||||||
git
|
git
|
||||||
imagemagick
|
imagemagick
|
||||||
imv
|
imv
|
||||||
iperf3
|
iperf3
|
||||||
jq
|
jq
|
||||||
kdePackages.qtmultimedia
|
kdePackages.qtmultimedia
|
||||||
kitty
|
|
||||||
ldns
|
ldns
|
||||||
lm_sensors
|
lm_sensors
|
||||||
lsof
|
lsof
|
||||||
@@ -31,23 +26,19 @@
|
|||||||
nvd
|
nvd
|
||||||
p7zip
|
p7zip
|
||||||
pciutils
|
pciutils
|
||||||
sddm-astronaut
|
|
||||||
socat
|
socat
|
||||||
sof-firmware
|
sof-firmware
|
||||||
strace
|
strace
|
||||||
sysstat
|
sysstat
|
||||||
terminus_font
|
|
||||||
tree
|
tree
|
||||||
unzip
|
unzip
|
||||||
usbutils
|
usbutils
|
||||||
vim
|
vim
|
||||||
|
wl-clipboard
|
||||||
wget
|
wget
|
||||||
which
|
which
|
||||||
xz
|
xz
|
||||||
zip
|
zip
|
||||||
zstd
|
zstd
|
||||||
];
|
];
|
||||||
|
|
||||||
# browser
|
|
||||||
programs.firefox.enable = true;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ 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; [
|
environment.systemPackages = with pkgs; [
|
||||||
wireguard-tools
|
proton-vpn
|
||||||
protonvpn-gui
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,4 +17,9 @@
|
|||||||
sddm-astronaut
|
sddm-astronaut
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Make the theme available in the system path so sddm can find it
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
sddm-astronaut
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,13 +32,14 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# allow unfree packages (steam, protonvpn, discord, etc.)
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
# links /libexec from derivations to /run/current-system/sw
|
# links /libexec from derivations to /run/current-system/sw
|
||||||
environment.pathsToLink = [ "/libexec" ];
|
environment.pathsToLink = [ "/libexec" ];
|
||||||
# set the default editor to vim
|
|
||||||
environment.variables.EDITOR = "vim";
|
|
||||||
|
|
||||||
# enable home-manager globally
|
# enable home-manager globally
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.backupFileExtension = "backup";
|
home-manager.backupCommand = "mv -f {file} {file}.hm-bak-$(date +%Y%m%d%H%M%S)";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# allow unfree to install steam
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
# enable steam and open firewall
|
# enable steam and open firewall
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
users.users.aaron = {
|
users.users.aaron = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
group = "users";
|
group = "users";
|
||||||
extraGroups = [ "wheel" "networkmanager" "docker" ];
|
extraGroups = [ "wheel" "networkmanager" "dialout" ];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user