remember to import the fonts also
This commit is contained in:
parent
aea88565bd
commit
1fd6de2551
2 changed files with 56 additions and 51 deletions
|
@ -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;
|
||||||
|
|
|
@ -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)"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue