feat: initialize repo with NixOS and Home Manager configs
- Add .gitignore for common languages, tools, and OS/editor artifacts - Configure .gitattributes for Git LFS (fonts, images, archives, ISOs) - Add README with repo description - Add flake.nix defining inputs and outputs for NixOS, Home Manager, and related modules - Introduce home-manager configs: - Base home.nix with packages, services, and programs - Hyprland WM configuration (waybar, fuzzel, keybindings, theming) - Vim (nixvim) setup with LSP and plugins - Zsh setup with aliases, Oh My Zsh, clipboard helpers - Systemd user services (e.g., librespot) - Add scripts (GPU monitor, RAM build helper, install automation) - Add host configurations: - Nixbook (Apple laptop) with hardware, disko, and install script - Nixstation (desktop) with firewall, virtualization, Btrfs scrub timer - Nixtest (test VM) with QEMU + Alpine-based install test harness - Common modules (network, NVIDIA, rclone, screen, keychron, users) - Include statix config for linting
This commit is contained in:
commit
095e9f4f6b
34 changed files with 1954 additions and 0 deletions
63
home-manager/zsh.nix
Normal file
63
home-manager/zsh.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
isWayland = config.custom.sessionType == "wayland";
|
||||
in
|
||||
{
|
||||
options.custom.sessionType = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "x11";
|
||||
description = "The X session type: 'wayland' or 'x11'";
|
||||
};
|
||||
|
||||
config = {
|
||||
home.file."scripts/lsgpu.sh" = {
|
||||
source = ./scripts/lsgpu.sh;
|
||||
executable = true;
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
initContent = ''
|
||||
eval "$(direnv hook zsh)"
|
||||
export GPG_TTY=$(tty)
|
||||
'';
|
||||
|
||||
shellAliases = lib.mkMerge [
|
||||
{
|
||||
"vi" = "nvim";
|
||||
"vim" = "nvim";
|
||||
"ll" = "ls -l";
|
||||
"lsgpu" = "$HOME/scripts/lsgpu.sh";
|
||||
"gedit" = "gnome-text-editor";
|
||||
}
|
||||
|
||||
(lib.mkIf isWayland {
|
||||
"pbcopy" = "wl-copy";
|
||||
"pbpaste" = "wl-paste";
|
||||
})
|
||||
|
||||
(lib.mkIf (!isWayland) {
|
||||
"pbcopy" = "xclip -selection clipboard -i";
|
||||
"pbpaste" = "xclip -selection clipboard -o";
|
||||
})
|
||||
];
|
||||
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
theme = "bureau";
|
||||
plugins = [
|
||||
"git"
|
||||
"history"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [ xclip ];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue