36 Commits

Author SHA1 Message Date
a8468bf13f Merge pull request 'feature(ssl/tls): add my homelab pki root ca to the trust store' (#12) from feature/add_homelab_ca into main
Reviewed-on: #12
2026-01-23 19:20:42 +00:00
35319f58de feature(ssl/tls): add my homelab pki root ca to the trust store 2026-01-23 20:20:12 +01:00
4b6bdf0c86 Merge pull request 'chore(flake): update flake lock to the latest version' (#11) from feature/update_flake into main
Reviewed-on: #11
2026-01-23 18:37:39 +00:00
427b5315b7 chore(flake): update flake lock to the latest version 2026-01-23 19:36:34 +01:00
cfa9aa2e14 Merge pull request 'feature(vpn): enable tailscaled on the system at startup' (#10) from feature/tailscale into main
Reviewed-on: #10
2026-01-16 19:25:43 +00:00
98617c4099 feature(vpn): enable tailscaled on the system at startup 2026-01-16 20:22:48 +01:00
61cebd469b Merge pull request 'chore(flake): update flake lock to the latest commits' (#9) from feature/update_flake into main
Reviewed-on: #9
2026-01-15 20:45:49 +00:00
86729827e8 chore(flake): update flake lock to the latest commits 2026-01-15 21:30:55 +01:00
60bf6173c7 Merge pull request 'feature/fix_boot_errors' (#8) from feature/fix_boot_errors into main
Reviewed-on: #8
2026-01-10 22:51:49 +00:00
90df3e5ed9 feature(bootloader): add terminus-font to the bootloader dependencies 2026-01-10 23:51:29 +01:00
22df1df1d7 feature(terminal-font): add terminus terminal font for eye candy 2026-01-10 23:47:01 +01:00
f5d629d5f5 chore(bootloader): lets just not look at those acpi errors during boot 2026-01-10 23:46:12 +01:00
9885867cc2 Merge pull request 'feature(fwupd): install and enable fwupd for firmware upgrades' (#7) from feature/firmwareupdates into main
Reviewed-on: #7
2026-01-09 20:14:11 +00:00
2cb495848f feature(fwupd): install and enable fwupd for firmware upgrades 2026-01-09 21:12:55 +01:00
7e84ba21dc Merge pull request 'chore(update): upgrade flake' (#6) from feature/nix_upgrade into main
Reviewed-on: #6
2026-01-09 06:47:44 +00:00
54dc51eec4 chore(update): upgrade flake 2026-01-09 07:44:13 +01:00
3c3dd262ae Merge pull request 'feature(steam): add proton-ge compatibility layer to steam' (#5) from feature/proton-ge into main
Reviewed-on: #5
2026-01-04 12:04:53 +00:00
cd683bfa94 feature(steam): add proton-ge compatibility layer to steam 2026-01-04 13:02:44 +01:00
10a4b462b3 Merge pull request 'optimize build time' (#4) from feature/optimize into main
Reviewed-on: #4
2025-12-31 10:20:21 +00:00
5111de5278 refactor(settings): remove redundant options 2025-12-31 11:17:31 +01:00
3a6b6091d6 feature(settings): add cache, use more cores, auto optimize the nix store 2025-12-31 11:09:09 +01:00
382cb2b096 refactor(flake): remove home-manager options from flake, since they are already defined in settings 2025-12-31 11:08:26 +01:00
05245ea56b refactor(niri): rename the module to niri.nix for clarity 2025-12-31 11:07:37 +01:00
3ee5cfac97 Merge pull request 'feature(modules): split configuration into nix modules and home-manager modules' (#2) from feature/modularize into main
Reviewed-on: #2
2025-12-30 17:51:29 +00:00
2e1c2524fc refactor(readme): update the readme with a nix-helper section. 2025-12-30 18:50:30 +01:00
b87d881258 feature(flake): update flake file and update all packages 2025-12-30 18:49:25 +01:00
8fa948b0be fix(home): set correct name for nixvim config 2025-12-30 14:27:17 +01:00
859d524f4a fix(styling): fix syntax error 2025-12-30 14:26:40 +01:00
989f676ce7 refactor: cleanup old configuration 2025-12-30 14:26:12 +01:00
55bb23cf07 feature(home): cleanup home-manager imports 2025-12-30 14:20:59 +01:00
894c113607 feature(programs): add a hm-module to specify user programs 2025-12-30 14:20:24 +01:00
724db8a252 feature(style): move qt and gtk settings to their own hm-module 2025-12-30 14:19:55 +01:00
d0eb6f614d feature(tmux): add tmux home-manager module 2025-12-30 14:19:24 +01:00
c419f052a3 feature(shell): add zsh home-manager module 2025-12-30 14:19:05 +01:00
1f7e9f6eef feature(nixvim): add nixvim home-manager module 2025-12-30 14:18:43 +01:00
656dfe4b93 feature(git): add git home-manager module 2025-12-30 14:18:14 +01:00
18 changed files with 279 additions and 169 deletions

View File

@@ -1,10 +1,10 @@
# 0x29a nixos config # 0x29a nixos config
My personal nixos configuration files. My personal nixos configuration files for different environments.
## basic system installation ## basic system installation
- The installations in this repository are always luks encrypted - The installations presented in this repository are always luks encrypted
- 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
@@ -111,8 +111,24 @@ $ sudo nixos-rebuild --install-bootloader switch --flake .#host_name
$ cd /path/to/repo $ cd /path/to/repo
$ sudo nix flake update $ sudo nix flake update
$ sudo nixos-rebuild switch --flake .#host_name $ sudo nixos-rebuild switch --flake .#host_name
$ sudo nix-collect-garbage
``` ```
## how to use nix-helper
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:
```bash
$ nh os switch
$ nh os build
$ nh os test
$ nh clean all --keep 5
```
There is also the option to interface with home-manager by using `nh home switch`but this isn't necessary since home-manager is imported as a module in this config.
## author ## author
aaron <aaron@0x29a.ch> aaron <aaron@0x29a.ch>

24
flake.lock generated
View File

@@ -28,11 +28,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1766282146, "lastModified": 1769187349,
"narHash": "sha256-0V/nKU93KdYGi+5LB/MVo355obBJw/2z9b2xS3bPJxY=", "narHash": "sha256-clG+nT6I2qxjIgk5WoSDKJyNhzKJs9jzbCujPF2S/yg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "61fcc9de76b88e55578eb5d79fc80f2b236df707", "rev": "082a4cd87c6089d1d9c58ebe52655f9e07245fcb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -43,11 +43,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1766070988, "lastModified": 1769018530,
"narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=", "narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c6245e83d836d0433170a16eb185cefe0572f8b8", "rev": "88d3861acdd3d2f0e361767018218e51810df8a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -66,11 +66,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1766273987, "lastModified": 1768910181,
"narHash": "sha256-Y8hL2zGyt7xn5J1V806GJ9tMEk6NgVlU7xe4dS4fThE=", "narHash": "sha256-YRU0IHMzXluZxr0JDfq9jtblb4DV7MIB5wj2jYMFKQc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "ff00fe1512dfcb31b01d770738de9299b434449b", "rev": "5b138edcb2f1c3ed4b29eca3658f04f0639b98b3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -86,11 +86,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1766317205, "lastModified": 1769192065,
"narHash": "sha256-PYlMsenwZCG5TrxQSyTraPw8WQwk4FGnbyFdFMuAeYA=", "narHash": "sha256-8RXIQ8gGxB7lmQOJuhhq3UiGhO3zzKiPaDRigR4Fu9Y=",
"owner": "noctalia-dev", "owner": "noctalia-dev",
"repo": "noctalia-shell", "repo": "noctalia-shell",
"rev": "51aa9fe16b0cc0dc4daa7c447843b36923434f2e", "rev": "9bd9d3cfc9c7b80eabd933ed8033e9f9d1021953",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -1,5 +1,5 @@
{ {
description = "0x29a ecosystem NixOS flake"; description = "0x29a NixOS flake";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
@@ -28,8 +28,6 @@
./hosts/default/configuration.nix ./hosts/default/configuration.nix
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.aaron.imports = [ home-manager.users.aaron.imports = [
nixvim.homeModules.nixvim nixvim.homeModules.nixvim
@@ -47,8 +45,6 @@
./hosts/neon/configuration.nix ./hosts/neon/configuration.nix
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.aaron.imports = [ home-manager.users.aaron.imports = [
nixvim.homeModules.nixvim nixvim.homeModules.nixvim

View File

@@ -2,12 +2,13 @@
{ {
imports = [ imports = [
../../modules/nixos/bootloader.nix
../../modules/nixos/audio.nix ../../modules/nixos/audio.nix
../../modules/nixos/compositor.nix ../../modules/nixos/bootloader.nix
../../modules/nixos/certificates.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
../../modules/nixos/niri.nix
../../modules/nixos/noctalia.nix ../../modules/nixos/noctalia.nix
../../modules/nixos/openssh.nix ../../modules/nixos/openssh.nix
../../modules/nixos/packages.nix ../../modules/nixos/packages.nix

View File

@@ -0,0 +1,18 @@
{ config, pkgs, inputs, ... }:
{
programs.git = {
enable = true;
settings = {
push = { autoSetupRemote = true; };
user = {
name = "aaron";
email = "aaron@0x29a.ch";
};
};
signing = {
key = "7A830180A05DAC59CDE43B0677D2F5DB48184456";
signByDefault = true;
};
};
}

View File

@@ -0,0 +1,26 @@
{ config, pkgs, inputs, ... }:
{
programs.nixvim = {
globals.mapleader = " ";
enable = true;
viAlias = false;
vimAlias = true;
opts = {
number = true;
relativenumber = true;
shiftwidth = 2;
tabstop = 2;
expandtab = true;
incsearch = true;
};
colorschemes.nord.enable = true;
plugins.lualine.enable = true;
plugins.nix.enable = true;
plugins.nvim-tree.enable = true;
plugins.treesitter.enable = true;
plugins.telescope.enable = true;
plugins.web-devicons.enable = true;
plugins.indent-blankline.enable = true;
};
}

View File

@@ -0,0 +1,18 @@
{ config, pkgs, inputs, ... }:
{
# user packages
home.packages = with pkgs; [
discord
fastfetch
keepassxc
nerd-fonts.sauce-code-pro
powerline-fonts
powerline-symbols
screenfetch
];
# services and other software
services.syncthing.enable = true;
programs.home-manager.enable = true;
}

View File

@@ -0,0 +1,20 @@
{ config, pkgs, inputs, ... }:
{
programs.zsh = {
enable = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
oh-my-zsh = {
enable = true;
theme = "agnoster";
#plugins = [ "git" "ssh-agent" ];
};
};
# set important env vars
home.sessionVariables = {
EDITOR = "vim";
NH_FLAKE = "/home/aaron/git/nixconfig";
};
}

View File

@@ -0,0 +1,30 @@
{ config, pkgs, inputs, ... }:
{
# set gtk theme
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
};
# set qt theme
qt = {
enable = true;
platformTheme.name = "qt6";
style = {
name = "adwaita-dark";
package = pkgs.adwaita-qt;
};
};
# ensure packages are installed
home.packages = with pkgs; [
gnome-themes-extra
adwaita-qt
];
}

View File

@@ -0,0 +1,56 @@
{ config, pkgs, inputs, ... }:
{
programs.tmux = {
enable = true;
prefix = "C-a";
keyMode = "vi";
mouse = true;
terminal = "screen-256color";
extraConfig = ''
# Status keys
set -g status-keys vi
# Status bar options
set -g status-interval 1
set -g status on
set -g status-justify left
# Clock mode
setw -g clock-mode-colour cyan
# Colors
set -g status-bg black
set -g status-fg white
# Key bindings
# Reload configuration
bind r source-file ~/.config/tmux/tmux.conf
# Panel split and selection
unbind %
unbind '"'
bind v split-window -v
bind c split-window -h
bind i new-window
bind b previous-window
bind n next-window
# Move around panes with hjkl
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Resize panes
bind H resize-pane -L 5
bind J resize-pane -D 5
bind K resize-pane -U 5
bind L resize-pane -R 5
# Kill commands
bind q kill-window
bind Q kill-session
# Bars
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] #S #[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 "
# 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-current-format "#[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan]#I #[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan]#W #F #[fg=cyan,bg=black,nobold,noitalics,nounderscore]"
set -g window-status-separator ""
'';
};
}

View File

@@ -17,11 +17,13 @@
}; };
# kernel options # kernel options
boot.kernelParams = [ "quiet" "loglevel=2" ]; boot.kernelParams = [ "quiet" "acpi.debug_level=0"];
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
boot.consoleLogLevel = 2;
# Add boot-related packages # Add boot-related packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
efibootmgr efibootmgr
terminus_font
]; ];
} }

View File

@@ -0,0 +1,22 @@
{ config, lib, pkgs, ... }:
let
caddyRootCA = ''
-----BEGIN CERTIFICATE-----
MIIBozCCAUmgAwIBAgIQf2N1DGp2HVOoPaGuGDEnwjAKBggqhkjOPQQDAjAwMS4w
LAYDVQQDEyVDYWRkeSBMb2NhbCBBdXRob3JpdHkgLSAyMDI1IEVDQyBSb290MB4X
DTI1MTEwNjE5NDA1OFoXDTM1MDkxNTE5NDA1OFowMDEuMCwGA1UEAxMlQ2FkZHkg
TG9jYWwgQXV0aG9yaXR5IC0gMjAyNSBFQ0MgUm9vdDBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABGR9mSgKCSjvcv7LvvIcO84Wpf/KtC/aexT5shSKXd1R97kIyMI5
SUYz0MzbRZHJ4QMpIeALirOK9Eoy2zht0dKjRTBDMA4GA1UdDwEB/wQEAwIBBjAS
BgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBRHKfIfJrrA2DACFrunVSmdnJHO
1zAKBggqhkjOPQQDAgNIADBFAiAoqc0+cHeq/8SQN16CKjVvXpZuMkg7NLDoWYMw
KgmzowIhAJlkxzBdVngwnJu8uPrVizTGF6XtmUHdJ0NDeccEqUCr
-----END CERTIFICATE-----
'';
in
{
security.pki.certificates = [
caddyRootCA # self-signed pki ca for my home-lab
];
}

View File

@@ -9,6 +9,8 @@
dnsutils dnsutils
ethtool ethtool
file file
fwupd
fwupd-efi
ghostty ghostty
git git
imagemagick imagemagick
@@ -31,8 +33,10 @@
pciutils pciutils
sddm-astronaut sddm-astronaut
socat socat
sof-firmware
strace strace
sysstat sysstat
terminus_font
tree tree
unzip unzip
usbutils usbutils

View File

@@ -5,5 +5,7 @@
services = { services = {
tuned.enable = true; tuned.enable = true;
upower.enable = true; upower.enable = true;
fwupd.enable = true;
tailscale.enable = true;
}; };
} }

View File

@@ -1,8 +1,36 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
# use flakes and nix command nix = {
nix.settings.experimental-features = [ "nix-command" "flakes" ]; # nix settings
settings = {
# enable flakes and nix-command
experimental-features = [ "nix-command" "flakes" ];
# auto-optimize my nix-store
auto-optimise-store = true;
# use all cores
max-jobs = "auto";
# use all available cores per job
cores = 0;
# add trusted substituters (binary caches)
substituters = [
"https://cache.nixos.org"
"https://nix-community.cachix.org"
];
# add keys
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
# enable automatic garbage collection
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
};
# links /libexec from derivations to /run/current-system/sw # links /libexec from derivations to /run/current-system/sw
environment.pathsToLink = [ "/libexec" ]; environment.pathsToLink = [ "/libexec" ];

View File

@@ -10,6 +10,10 @@
remotePlay.openFirewall = true; remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true; dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true; localNetworkGameTransfers.openFirewall = true;
# add proton-glorious-eggroll
extraCompatPackages = with pkgs; [
proton-ge-bin
];
}; };
# fix black screen in steam when using xwayland-satellite # fix black screen in steam when using xwayland-satellite

View File

@@ -1,151 +1,18 @@
{ config, pkgs, inputs, ... }: { config, pkgs, ... }:
{ {
# user config imports = [
home.username = "aaron"; ../../modules/home-manager/git.nix
home.homeDirectory = "/home/aaron"; ../../modules/home-manager/nixvim.nix
# set env vars ../../modules/home-manager/programs.nix
home.sessionVariables = { ../../modules/home-manager/shell.nix
EDITOR = "vim"; ../../modules/home-manager/styling.nix
NH_FLAKE = "/home/aaron/git/nixconfig"; ../../modules/home-manager/tmux.nix
};
# don't change
home.stateVersion = "25.11";
# nixvim config
programs.nixvim = {
globals.mapleader = " ";
enable = true;
viAlias = false;
vimAlias = true;
opts = {
number = true;
relativenumber = true;
shiftwidth = 2;
tabstop = 2;
expandtab = true;
incsearch = true;
};
colorschemes.nord.enable = true;
plugins.lualine.enable = true;
plugins.nix.enable = true;
plugins.nvim-tree.enable = true;
plugins.treesitter.enable = true;
plugins.telescope.enable = true;
plugins.web-devicons.enable = true;
plugins.indent-blankline.enable = true;
};
# tmux config
programs.tmux = {
enable = true;
# Basic options
prefix = "C-a";
keyMode = "vi";
mouse = true;
# Terminal settings
terminal = "screen-256color";
# Extra configuration
extraConfig = ''
# Status keys
set -g status-keys vi
# Status bar options
set -g status-interval 1
set -g status on
set -g status-justify left
# Clock mode
setw -g clock-mode-colour cyan
# Colors
set -g status-bg black
set -g status-fg white
# Key bindings
# Reload configuration
bind r source-file ~/.config/tmux/tmux.conf
# Panel split and selection
unbind %
unbind '"'
bind v split-window -v
bind c split-window -h
bind i new-window
bind b previous-window
bind n next-window
# Move around panes with hjkl
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Resize panes
bind H resize-pane -L 5
bind J resize-pane -D 5
bind K resize-pane -U 5
bind L resize-pane -R 5
# Kill commands
bind q kill-window
bind Q kill-session
# Bars
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] #S #[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 "
# 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-current-format "#[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan]#I #[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan]#W #F #[fg=cyan,bg=black,nobold,noitalics,nounderscore]"
set -g window-status-separator ""
'';
};
# user packages
home.packages = with pkgs; [
discord
fastfetch
keepassxc
nerd-fonts.sauce-code-pro
powerline-fonts
powerline-symbols
screenfetch
]; ];
# configure git home = {
programs.git.settings = { username = "aaron";
enable = true; homeDirectory = "/home/aaron";
userName = "aaron"; stateVersion = "25.11";
userEmail = "aaron@0x29a.ch";
}; };
# configure zsh theme
programs.zsh = {
enable = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
oh-my-zsh = {
enable = true;
theme = "agnoster";
#plugins = [ "git" "ssh-agent" ];
};
};
# set gtk theme
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
};
# set qt theme
qt = {
enable = true;
platformTheme.name = "qt6";
style = {
name = "adwaita-dark";
package = pkgs.adwaita-qt;
};
};
# enable syncthing for user
services.syncthing.enable = true;
# enable home manager
programs.home-manager.enable = true;
} }