remember to import the fonts also

This commit is contained in:
Geir Okkenhaug Jerstad 2025-06-10 21:59:00 +02:00
parent aea88565bd
commit 1fd6de2551
2 changed files with 56 additions and 51 deletions

View file

@ -8,27 +8,29 @@
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./network-congenital-optimist.nix ./network-congenital-optimist.nix
# Security modules # Security modules
../../modules/security/ssh-keys.nix ../../modules/security/ssh-keys.nix
# Network modules # Network modules
../../modules/network/extraHosts.nix ../../modules/network/extraHosts.nix
# Hardware modules # Hardware modules
../../modules/hardware/amd-workstation.nix ../../modules/hardware/amd-workstation.nix
# Desktop environments # Desktop environments
../../modules/desktop/common.nix ../../modules/desktop/common.nix
../../modules/desktop/gnome.nix ../../modules/desktop/gnome.nix
../../modules/desktop/cosmic.nix ../../modules/desktop/cosmic.nix
../../modules/desktop/sway.nix ../../modules/desktop/sway.nix
../../modules/desktop/niri.nix ../../modules/desktop/niri.nix
# Fonts
../../modules/desktop/fonts.nix
# Development tools # Development tools
../../modules/development/tools.nix ../../modules/development/tools.nix
# User configuration # User configuration
../../modules/users/geir.nix ../../modules/users/geir.nix
@ -50,7 +52,7 @@
path = "/boot"; path = "/boot";
} }
]; ];
}; # ZFS services for this machine }; # ZFS services for this machine
services.zfs = { services.zfs = {
autoScrub.enable = true; autoScrub.enable = true;
trim.enable = true; trim.enable = true;

View file

@ -1,29 +1,31 @@
# Primary User Configuration - geir # Primary User Configuration - geir
# Main user account for development and desktop use # Main user account for development and desktop use
{ config, pkgs, ... }:
let
# Import custom packages from the flake
homeLabPackages = import ../../packages { inherit pkgs; };
in
{ {
config,
pkgs,
...
}: let
# Import custom packages from the flake
homeLabPackages = import ../../packages {inherit pkgs;};
in {
users.users.geir = { users.users.geir = {
description = "Geir Okkenhaug Jerstad - Primary User"; description = "Geir Okkenhaug Jerstad - Primary User";
isNormalUser = true; isNormalUser = true;
# User groups for development and desktop use # User groups for development and desktop use
extraGroups = [ extraGroups = [
"wheel" # sudo access "wheel" # sudo access
"networkmanager" # network management "networkmanager" # network management
"libvirt" # virtualization "libvirt" # virtualization
"incus-admin" # container management "incus-admin" # container management
"podman" # container runtime "podman" # container runtime
"audio" # audio devices "audio" # audio devices
"video" # video devices "video" # video devices
"render" # GPU access "render" # GPU access
]; ];
shell = pkgs.zsh; shell = pkgs.zsh;
# SSH access with development keys # SSH access with development keys
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
# Current key (keep for continuity during transition) # Current key (keep for continuity during transition)
@ -31,7 +33,7 @@ in
# New development key # New development key
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHukJK0Kc1YexvzF8PdqaqWNZdVffGoM6ePPMecrU6dM geir@geokkjer.eu-dev" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHukJK0Kc1YexvzF8PdqaqWNZdVffGoM6ePPMecrU6dM geir@geokkjer.eu-dev"
]; ];
# User-specific packages # User-specific packages
packages = with pkgs; [ packages = with pkgs; [
# Home lab management tools # Home lab management tools
@ -41,29 +43,30 @@ in
kitty kitty
terminator terminator
starship starship
# Essential system tools (moved duplicates to base.nix) # Essential system tools (moved duplicates to base.nix)
mc mc
# Browsers & Communication # Browsers & Communication
firefox firefox
chromium chromium
vesktop vesktop
vivaldi vivaldi-ffmpeg-codecs vivaldi
vivaldi-ffmpeg-codecs
# Shell Enhancement & Fun # Shell Enhancement & Fun
nerdfetch nerdfetch
neo-cowsay neo-cowsay
fortune fortune
clolcat clolcat
# Audio & System Control # Audio & System Control
ncpamixer ncpamixer
pavucontrol pavucontrol
# Productivity # Productivity
koodo-reader koodo-reader
# Development & System Management # Development & System Management
neovim neovim
vscode vscode
@ -71,7 +74,7 @@ in
nodejs nodejs
nodePackages.npm nodePackages.npm
virt-manager virt-manager
# Creative Tools (optional - remove if not needed) # Creative Tools (optional - remove if not needed)
gimp gimp
obs-studio obs-studio
@ -83,13 +86,13 @@ in
# Container tools # Container tools
podman-compose podman-compose
podman-desktop podman-desktop
# Media # Media
celluloid celluloid
# Emacs Integration # Emacs Integration
emacsPackages.vterm emacsPackages.vterm
# Desktop integration (moved from system) # Desktop integration (moved from system)
dbus dbus
wayland wayland
@ -98,7 +101,7 @@ in
}; };
# User-specific services and configurations # User-specific services and configurations
# Enable automatic login for primary user (optional, can be disabled for security) # Enable automatic login for primary user (optional, can be disabled for security)
# services.xserver.displayManager.autoLogin = { # services.xserver.displayManager.autoLogin = {
# enable = true; # enable = true;
@ -111,64 +114,64 @@ in
EDITOR = "emacs"; EDITOR = "emacs";
BROWSER = "firefox"; BROWSER = "firefox";
TERMINAL = "kitty"; TERMINAL = "kitty";
# Git configuration # Git configuration
GIT_EDITOR = "emacs"; GIT_EDITOR = "nano";
}; };
# Comprehensive zsh configuration for geir # Comprehensive zsh configuration for geir
programs.zsh = { programs.zsh = {
enable = true; enable = true;
# Shell aliases # Shell aliases
shellAliases = { shellAliases = {
# Development workflow # Development workflow
"home-lab" = "z /home/geir/Home-lab"; "home-lab" = "z /home/geir/Home-lab";
"configs" = "z /home/geir/Home-lab/user_configs/geir"; "configs" = "z /home/geir/Home-lab/user_configs/geir";
"emacs-config" = "emacs /home/geir/Home-lab/user_configs/geir/emacs.org"; "emacs-config" = "emacs /home/geir/Home-lab/user_configs/geir/emacs.org";
# Quick system management # Quick system management
"rebuild-test" = "sudo nixos-rebuild test --flake /home/geir/Home-lab"; "rebuild-test" = "sudo nixos-rebuild test --flake /home/geir/Home-lab";
"rebuild" = "sudo nixos-rebuild switch --flake /home/geir/Home-lab"; "rebuild" = "sudo nixos-rebuild switch --flake /home/geir/Home-lab";
"collect" = "sudo nix-collect-garbage --d"; "collect" = "sudo nix-collect-garbage --d";
"optimise" = "sudo nix-store --optimise"; "optimise" = "sudo nix-store --optimise";
# Git shortcuts for multi-remote workflow # Git shortcuts for multi-remote workflow
"git-status-all" = "git status && echo '--- Checking origin ---' && git log origin/main..HEAD --oneline && echo '--- Checking github ---' && git log github/main..HEAD --oneline"; "git-status-all" = "git status && echo '--- Checking origin ---' && git log origin/main..HEAD --oneline && echo '--- Checking github ---' && git log github/main..HEAD --oneline";
# Container shortcuts # Container shortcuts
"pdm" = "podman"; "pdm" = "podman";
"pdc" = "podman-compose"; "pdc" = "podman-compose";
# Media shortcuts # Media shortcuts
"youtube-dl" = "yt-dlp"; "youtube-dl" = "yt-dlp";
}; };
# History configuration # History configuration
histSize = 10000; histSize = 10000;
histFile = "$HOME/.histfile"; histFile = "$HOME/.histfile";
# Shell options # Shell options
setOptions = [ "autocd" "extendedglob" ]; setOptions = ["autocd" "extendedglob"];
# Interactive shell initialization # Interactive shell initialization
interactiveShellInit = '' interactiveShellInit = ''
# Emacs-style keybindings # Emacs-style keybindings
bindkey -e bindkey -e
# Disable annoying shell options # Disable annoying shell options
unsetopt beep nomatch unsetopt beep nomatch
# Completion configuration # Completion configuration
zstyle ':completion:*' completer _expand _complete _ignored zstyle ':completion:*' completer _expand _complete _ignored
zstyle ':completion:*' matcher-list "" zstyle ':completion:*' matcher-list ""
autoload -Uz compinit autoload -Uz compinit
compinit compinit
# Initialize shell enhancements # Initialize shell enhancements
eval "$(starship init zsh)" eval "$(starship init zsh)"
eval "$(direnv hook zsh)" eval "$(direnv hook zsh)"
eval "$(zoxide init zsh)" eval "$(zoxide init zsh)"
''; '';
}; };
} }