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 = [
|
||||
./hardware-configuration.nix
|
||||
./network-congenital-optimist.nix
|
||||
|
||||
|
||||
# Security modules
|
||||
../../modules/security/ssh-keys.nix
|
||||
|
||||
|
||||
# Network modules
|
||||
../../modules/network/extraHosts.nix
|
||||
|
||||
|
||||
# Hardware modules
|
||||
../../modules/hardware/amd-workstation.nix
|
||||
|
||||
|
||||
# Desktop environments
|
||||
../../modules/desktop/common.nix
|
||||
../../modules/desktop/gnome.nix
|
||||
../../modules/desktop/cosmic.nix
|
||||
../../modules/desktop/sway.nix
|
||||
../../modules/desktop/niri.nix
|
||||
|
||||
|
||||
|
||||
# Fonts
|
||||
../../modules/desktop/fonts.nix
|
||||
|
||||
# Development tools
|
||||
../../modules/development/tools.nix
|
||||
|
||||
|
||||
# User configuration
|
||||
../../modules/users/geir.nix
|
||||
|
||||
|
@ -50,7 +52,7 @@
|
|||
path = "/boot";
|
||||
}
|
||||
];
|
||||
}; # ZFS services for this machine
|
||||
}; # ZFS services for this machine
|
||||
services.zfs = {
|
||||
autoScrub.enable = true;
|
||||
trim.enable = true;
|
||||
|
|
|
@ -1,29 +1,31 @@
|
|||
# Primary User Configuration - geir
|
||||
# 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 = {
|
||||
description = "Geir Okkenhaug Jerstad - Primary User";
|
||||
isNormalUser = true;
|
||||
|
||||
|
||||
# User groups for development and desktop use
|
||||
extraGroups = [
|
||||
"wheel" # sudo access
|
||||
extraGroups = [
|
||||
"wheel" # sudo access
|
||||
"networkmanager" # network management
|
||||
"libvirt" # virtualization
|
||||
"incus-admin" # container management
|
||||
"podman" # container runtime
|
||||
"audio" # audio devices
|
||||
"video" # video devices
|
||||
"render" # GPU access
|
||||
"libvirt" # virtualization
|
||||
"incus-admin" # container management
|
||||
"podman" # container runtime
|
||||
"audio" # audio devices
|
||||
"video" # video devices
|
||||
"render" # GPU access
|
||||
];
|
||||
|
||||
|
||||
shell = pkgs.zsh;
|
||||
|
||||
|
||||
# SSH access with development keys
|
||||
openssh.authorizedKeys.keys = [
|
||||
# Current key (keep for continuity during transition)
|
||||
|
@ -31,7 +33,7 @@ in
|
|||
# New development key
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHukJK0Kc1YexvzF8PdqaqWNZdVffGoM6ePPMecrU6dM geir@geokkjer.eu-dev"
|
||||
];
|
||||
|
||||
|
||||
# User-specific packages
|
||||
packages = with pkgs; [
|
||||
# Home lab management tools
|
||||
|
@ -41,29 +43,30 @@ in
|
|||
kitty
|
||||
terminator
|
||||
starship
|
||||
|
||||
|
||||
# Essential system tools (moved duplicates to base.nix)
|
||||
mc
|
||||
|
||||
|
||||
# Browsers & Communication
|
||||
firefox
|
||||
chromium
|
||||
vesktop
|
||||
vivaldi vivaldi-ffmpeg-codecs
|
||||
|
||||
vivaldi
|
||||
vivaldi-ffmpeg-codecs
|
||||
|
||||
# Shell Enhancement & Fun
|
||||
nerdfetch
|
||||
neo-cowsay
|
||||
fortune
|
||||
clolcat
|
||||
|
||||
|
||||
# Audio & System Control
|
||||
ncpamixer
|
||||
pavucontrol
|
||||
|
||||
|
||||
# Productivity
|
||||
koodo-reader
|
||||
|
||||
|
||||
# Development & System Management
|
||||
neovim
|
||||
vscode
|
||||
|
@ -71,7 +74,7 @@ in
|
|||
nodejs
|
||||
nodePackages.npm
|
||||
virt-manager
|
||||
|
||||
|
||||
# Creative Tools (optional - remove if not needed)
|
||||
gimp
|
||||
obs-studio
|
||||
|
@ -83,13 +86,13 @@ in
|
|||
# Container tools
|
||||
podman-compose
|
||||
podman-desktop
|
||||
|
||||
|
||||
# Media
|
||||
celluloid
|
||||
|
||||
|
||||
# Emacs Integration
|
||||
emacsPackages.vterm
|
||||
|
||||
|
||||
# Desktop integration (moved from system)
|
||||
dbus
|
||||
wayland
|
||||
|
@ -98,7 +101,7 @@ in
|
|||
};
|
||||
|
||||
# User-specific services and configurations
|
||||
|
||||
|
||||
# Enable automatic login for primary user (optional, can be disabled for security)
|
||||
# services.xserver.displayManager.autoLogin = {
|
||||
# enable = true;
|
||||
|
@ -111,64 +114,64 @@ in
|
|||
EDITOR = "emacs";
|
||||
BROWSER = "firefox";
|
||||
TERMINAL = "kitty";
|
||||
|
||||
|
||||
# Git configuration
|
||||
GIT_EDITOR = "emacs";
|
||||
GIT_EDITOR = "nano";
|
||||
};
|
||||
|
||||
# Comprehensive zsh configuration for geir
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
||||
|
||||
# Shell aliases
|
||||
shellAliases = {
|
||||
# Development workflow
|
||||
"home-lab" = "z /home/geir/Home-lab";
|
||||
"configs" = "z /home/geir/Home-lab/user_configs/geir";
|
||||
"emacs-config" = "emacs /home/geir/Home-lab/user_configs/geir/emacs.org";
|
||||
|
||||
|
||||
# Quick system management
|
||||
"rebuild-test" = "sudo nixos-rebuild test --flake /home/geir/Home-lab";
|
||||
"rebuild" = "sudo nixos-rebuild switch --flake /home/geir/Home-lab";
|
||||
"collect" = "sudo nix-collect-garbage --d";
|
||||
"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";
|
||||
|
||||
# Container shortcuts
|
||||
"pdm" = "podman";
|
||||
"pdc" = "podman-compose";
|
||||
|
||||
|
||||
# Media shortcuts
|
||||
"youtube-dl" = "yt-dlp";
|
||||
};
|
||||
|
||||
|
||||
# History configuration
|
||||
histSize = 10000;
|
||||
histFile = "$HOME/.histfile";
|
||||
|
||||
|
||||
# Shell options
|
||||
setOptions = [ "autocd" "extendedglob" ];
|
||||
|
||||
setOptions = ["autocd" "extendedglob"];
|
||||
|
||||
# Interactive shell initialization
|
||||
interactiveShellInit = ''
|
||||
# Emacs-style keybindings
|
||||
bindkey -e
|
||||
|
||||
|
||||
# Disable annoying shell options
|
||||
unsetopt beep nomatch
|
||||
|
||||
|
||||
# Completion configuration
|
||||
zstyle ':completion:*' completer _expand _complete _ignored
|
||||
zstyle ':completion:*' matcher-list ""
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
|
||||
|
||||
# Initialize shell enhancements
|
||||
eval "$(starship init zsh)"
|
||||
eval "$(direnv hook zsh)"
|
||||
eval "$(zoxide init zsh)"
|
||||
'';
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue