diff options
Diffstat (limited to 'home')
31 files changed, 180 insertions, 526 deletions
diff --git a/home/profiles/bat.nix b/home/profiles/bat.nix new file mode 100644 index 0000000..a03ba62 --- /dev/null +++ b/home/profiles/bat.nix @@ -0,0 +1,4 @@ +{ ... }: +{ + programs.bat.enable = true; +} diff --git a/home/programs/direnv.nix b/home/profiles/direnv.nix index bad971d..bad971d 100644 --- a/home/programs/direnv.nix +++ b/home/profiles/direnv.nix diff --git a/home/programs/eza.nix b/home/profiles/eza.nix index f71b9b6..f71b9b6 100644 --- a/home/programs/eza.nix +++ b/home/profiles/eza.nix diff --git a/home/programs/fd.nix b/home/profiles/fd.nix index cdbae66..8fc3a75 100644 --- a/home/programs/fd.nix +++ b/home/profiles/fd.nix @@ -1,12 +1,12 @@ { ... }: { - # an alternative to find programs.fd = { enable = true; hidden = true; ignores = [ ".git/" ".direnv/" + "vendor/" ]; }; } diff --git a/home/programs/fish.nix b/home/profiles/fish.nix index 0cbed8c..5adb99b 100644 --- a/home/programs/fish.nix +++ b/home/profiles/fish.nix @@ -16,9 +16,6 @@ nph = "nix profile history --profile /nix/var/nix/profiles/system"; nsn = "nix search nixpkgs"; nsv = "nix store verify --all"; - - g = "git"; - gap = "git add --patch"; }; }; } diff --git a/home/programs/git.nix b/home/profiles/git.nix index 354dc71..c88705c 100644 --- a/home/programs/git.nix +++ b/home/profiles/git.nix @@ -9,8 +9,8 @@ let in { home.packages = with pkgs; [ - gitAndTools.pre-commit git-credential-manager + gitAndTools.pre-commit ]; programs.git = { diff --git a/home/programs/go.nix b/home/profiles/go.nix index 0ae1ec1..87e7add 100644 --- a/home/programs/go.nix +++ b/home/profiles/go.nix @@ -1,5 +1,11 @@ -{ pkgs, config, ... }: +{ pkgs, ... }: { + home.packages = with pkgs; [ + go-tools # collection of tools, https://github.com/dominikh/go-tools + golangci-lint + gopls + ]; + programs.go = { enable = true; goPath = ".local/share/pkg.go"; @@ -9,16 +15,4 @@ "github.com/fcuny/*" ]; }; - - home.packages = with pkgs; [ - delve - go-tools # collection of tools, https://github.com/dominikh/go-tools - golangci-lint - gopls - ]; - - home.sessionPath = [ - config.home.sessionVariables.GOBIN - "${config.home.homeDirectory}/.local/bin" - ]; } diff --git a/home/profiles/k8s.nix b/home/profiles/k8s.nix index 5eb4cf6..1e6cd41 100644 --- a/home/profiles/k8s.nix +++ b/home/profiles/k8s.nix @@ -1,22 +1,39 @@ -{ self, pkgs, ... }: +{ pkgs, ... }: { - - imports = [ - "${self}/home/programs/k9s.nix" - "${self}/home/programs/kubie.nix" - ]; - home.packages = with pkgs; [ kind # k8s in docker kubebuilder # generate controller kubectl + kubie # kubeconfig browser https://github.com/sbstp/kubie kubernetes-helm # deploy applications kubelogin-oidc # OIDC plugin ]; + programs.k9s = { + enable = true; + settings = { + k9s = { + refreshRate = 1; + }; + }; + }; + + home.file.kubie = { + target = ".kube/kubie.yaml"; + text = '' + shell: fish + configs: + include: + - ~/.kube/rksconfig + prompt: + fish_use_rprompt: false + ''; + }; + programs.fish = { shellAbbrs = { k = "kubectl"; + kctx = "kubie ctx"; klogs = "kubectl logs"; }; shellAliases = { diff --git a/home/profiles/mac.nix b/home/profiles/mac.nix index 4eb237b..01a891a 100644 --- a/home/profiles/mac.nix +++ b/home/profiles/mac.nix @@ -1,52 +1,45 @@ -{ self, pkgs, ... }: { + pkgs, + config, + ... +}: +let + + inherit (config.home) username; +in +{ + age = { + identityPaths = [ "${config.home.homeDirectory}/.ssh/agenix" ]; + secretsDir = "${config.home.homeDirectory}/.local/share/agenix"; + }; + imports = [ - "${self}/home/programs/alacritty" - "${self}/home/programs/bat.nix" - "${self}/home/programs/direnv.nix" - "${self}/home/programs/emacs" - "${self}/home/programs/eza.nix" - "${self}/home/programs/fd.nix" - "${self}/home/programs/firefox" - "${self}/home/programs/fish.nix" - "${self}/home/programs/gh.nix" - "${self}/home/programs/git.nix" - "${self}/home/programs/go.nix" - "${self}/home/programs/onepassword.nix" - "${self}/home/programs/rust.nix" - "${self}/home/programs/ssh.nix" - "${self}/home/programs/starship.nix" - "${self}/home/programs/tmux.nix" - ./secrets.nix + ./fish.nix + ./ssh.nix + ./onepassword.nix + ../programs/emacs + ../programs/firefox ]; + home.homeDirectory = "/Users/${username}"; + home.packages = with pkgs; [ age aider-chat bandwhich - basedpyright - bottom coreutils + delve dive # explore layers in docker images docker docker-credential-helpers - dust - jless - jq nil # nix lsp nix-direnv # integration with direnv nixfmt-rfc-style # new formatter procs - python3 restic - ripgrep - ruff shellcheck - tree - uv wget wireshark - yq ]; home.sessionVariables = { diff --git a/home/profiles/media.nix b/home/profiles/media.nix index 28a8663..a2cfd9d 100644 --- a/home/profiles/media.nix +++ b/home/profiles/media.nix @@ -1,4 +1,4 @@ -{ pkgs, self, ... }: +{ pkgs, ... }: { home.packages = with pkgs; [ ffmpeg @@ -6,8 +6,32 @@ vlc-bin ]; - imports = [ - "${self}/home/programs/yt-dlp.nix" - "${self}/home/programs/mpv.nix" - ]; + programs.mpv = { + enable = true; + config = { + screenshot-directory = "~/Documents/screenshots"; + ontop = true; + profile = "gpu-hq"; + }; + scripts = with pkgs.mpvScripts; [ + sponsorblock + quality-menu # Switch video quality from YT on-the-go + vr-reversal # Script for mpv to play VR video with optional saving of head tracking data + ]; + }; + + programs.yt-dlp = { + enable = true; + + settings = { + mtime = false; + merge-output-format = "mkv"; + restrict-filenames = true; + embed-thumbnail = true; + embed-metadata = true; + embed-chapters = true; + sponsorblock-mark = "sponsor"; + output = "~/Movies/%(uploader)s/%(upload_date>%Y-%m-%d)s-%(title)s-%(id)s.%(ext)s"; + }; + }; } diff --git a/home/profiles/minimal.nix b/home/profiles/minimal.nix new file mode 100644 index 0000000..f3aef75 --- /dev/null +++ b/home/profiles/minimal.nix @@ -0,0 +1,13 @@ +{ config, ... }: +let + inherit (config.home) username; +in +{ + imports = [ + ./bat.nix + ./eza.nix + ]; + + home.homeDirectory = "/home/${username}"; + home.stateVersion = "25.05"; +} diff --git a/home/profiles/onepassword.nix b/home/profiles/onepassword.nix new file mode 100644 index 0000000..232092e --- /dev/null +++ b/home/profiles/onepassword.nix @@ -0,0 +1,14 @@ +{ config, ... }: +{ + programs.onepassword = { + enable = true; + sshKeys = [ + { account = "my.1password.com"; } # All keys from personal account + ]; + }; + + home.sessionPath = [ + config.home.sessionVariables.GOBIN + "${config.home.homeDirectory}/.local/bin" + ]; +} diff --git a/home/profiles/secrets.nix b/home/profiles/secrets.nix deleted file mode 100644 index 986a9e9..0000000 --- a/home/profiles/secrets.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, ... }: -{ - age = { - identityPaths = [ "${config.home.homeDirectory}/.ssh/agenix" ]; - secretsDir = "${config.home.homeDirectory}/.local/share/agenix"; - }; -} diff --git a/home/programs/ssh.nix b/home/profiles/ssh.nix index c236904..250aff5 100644 --- a/home/programs/ssh.nix +++ b/home/profiles/ssh.nix @@ -1,6 +1,5 @@ -{ pkgs, config, ... }: +{ config, ... }: { - # https://github.com/nix-community/home-manager/blob/master/modules/programs/ssh.nix programs.ssh = { enable = true; forwardAgent = true; @@ -10,9 +9,6 @@ controlPath = "${config.home.homeDirectory}/.ssh/sockets/S.%r@%h:%p"; matchBlocks = { - "git.fcuny.net" = { - proxyCommand = "${pkgs.cloudflared}/bin/cloudflared access ssh --hostname %h"; - }; "github.com" = { hostname = "github.com"; user = "git"; diff --git a/home/profiles/starship.nix b/home/profiles/starship.nix new file mode 100644 index 0000000..5f0f87a --- /dev/null +++ b/home/profiles/starship.nix @@ -0,0 +1,25 @@ +{ ... }: +{ + programs.starship = { + enable = true; + settings = { + add_newline = false; + character = { + success_symbol = "[›](bold green)"; + error_symbol = "[›](bold red)"; + }; + "$schema" = "https://starship.rs/config-schema.json"; + hostname = { + ssh_only = true; + }; + username = { + disabled = true; + }; + kubernetes = { + disabled = false; + style = "bold blue"; + }; + nix_shell.disabled = false; + }; + }; +} diff --git a/home/profiles/work.nix b/home/profiles/work.nix index 28cf820..04dc61e 100644 --- a/home/profiles/work.nix +++ b/home/profiles/work.nix @@ -1,9 +1,4 @@ -{ - lib, - self, - pkgs, - ... -}: +{ lib, pkgs, ... }: let nomad-prod = pkgs.writeShellScriptBin "nomad-prod" '' set -e @@ -53,7 +48,6 @@ let in { imports = [ - "${self}/home/programs/gh.nix" ./k8s.nix ]; @@ -68,6 +62,19 @@ in vault ]; + programs.gh = { + enable = true; + settings = { + version = 1; + git_protocol = "ssh"; + prompt = "enabled"; + aliases = { + co = "pr checkout"; + vw = "pr view --web"; + }; + }; + }; + programs.onepassword.sshKeys = lib.mkAfter [ { account = "roblox.1password.com"; @@ -79,6 +86,7 @@ in shellAbbrs = let environments = [ + o { name = "chi1"; alias = "chi1"; diff --git a/home/profiles/workstation.nix b/home/profiles/workstation.nix new file mode 100644 index 0000000..0494281 --- /dev/null +++ b/home/profiles/workstation.nix @@ -0,0 +1,23 @@ +{ pkgs, ... }: +{ + imports = [ + ./bat.nix + ./eza.nix + ./direnv.nix + ./go.nix + ./starship.nix + ./fd.nix + ./git.nix + ]; + + home.packages = with pkgs; [ + bottom + dust + fish + jless + jq + ripgrep + tree + yq + ]; +} diff --git a/home/programs/alacritty/catppuccin-latte.toml b/home/programs/alacritty/catppuccin-latte.toml deleted file mode 100644 index e9414ad..0000000 --- a/home/programs/alacritty/catppuccin-latte.toml +++ /dev/null @@ -1,65 +0,0 @@ -[colors.primary] -background = "#eff1f5" -foreground = "#4c4f69" -dim_foreground = "#8c8fa1" -bright_foreground = "#4c4f69" - -[colors.cursor] -text = "#eff1f5" -cursor = "#dc8a78" - -[colors.vi_mode_cursor] -text = "#eff1f5" -cursor = "#7287fd" - -[colors.search.matches] -foreground = "#eff1f5" -background = "#6c6f85" - -[colors.search.focused_match] -foreground = "#eff1f5" -background = "#40a02b" - -[colors.footer_bar] -foreground = "#eff1f5" -background = "#6c6f85" - -[colors.hints.start] -foreground = "#eff1f5" -background = "#df8e1d" - -[colors.hints.end] -foreground = "#eff1f5" -background = "#6c6f85" - -[colors.selection] -text = "#eff1f5" -background = "#dc8a78" - -[colors.normal] -black = "#bcc0cc" -red = "#d20f39" -green = "#40a02b" -yellow = "#df8e1d" -blue = "#1e66f5" -magenta = "#ea76cb" -cyan = "#179299" -white = "#5c5f77" - -[colors.bright] -black = "#acb0be" -red = "#d20f39" -green = "#40a02b" -yellow = "#df8e1d" -blue = "#1e66f5" -magenta = "#ea76cb" -cyan = "#179299" -white = "#6c6f85" - -[[colors.indexed_colors]] -index = 16 -color = "#fe640b" - -[[colors.indexed_colors]] -index = 17 -color = "#dc8a78" diff --git a/home/programs/alacritty/catppuccin-mocha.toml b/home/programs/alacritty/catppuccin-mocha.toml deleted file mode 100644 index 7762dcd..0000000 --- a/home/programs/alacritty/catppuccin-mocha.toml +++ /dev/null @@ -1,65 +0,0 @@ -[colors.primary] -background = "#1e1e2e" -foreground = "#cdd6f4" -dim_foreground = "#7f849c" -bright_foreground = "#cdd6f4" - -[colors.cursor] -text = "#1e1e2e" -cursor = "#f5e0dc" - -[colors.vi_mode_cursor] -text = "#1e1e2e" -cursor = "#b4befe" - -[colors.search.matches] -foreground = "#1e1e2e" -background = "#a6adc8" - -[colors.search.focused_match] -foreground = "#1e1e2e" -background = "#a6e3a1" - -[colors.footer_bar] -foreground = "#1e1e2e" -background = "#a6adc8" - -[colors.hints.start] -foreground = "#1e1e2e" -background = "#f9e2af" - -[colors.hints.end] -foreground = "#1e1e2e" -background = "#a6adc8" - -[colors.selection] -text = "#1e1e2e" -background = "#f5e0dc" - -[colors.normal] -black = "#45475a" -red = "#f38ba8" -green = "#a6e3a1" -yellow = "#f9e2af" -blue = "#89b4fa" -magenta = "#f5c2e7" -cyan = "#94e2d5" -white = "#bac2de" - -[colors.bright] -black = "#585b70" -red = "#f38ba8" -green = "#a6e3a1" -yellow = "#f9e2af" -blue = "#89b4fa" -magenta = "#f5c2e7" -cyan = "#94e2d5" -white = "#a6adc8" - -[[colors.indexed_colors]] -index = 16 -color = "#fab387" - -[[colors.indexed_colors]] -index = 17 -color = "#f5e0dc" diff --git a/home/programs/alacritty/default.nix b/home/programs/alacritty/default.nix deleted file mode 100644 index 95f17ec..0000000 --- a/home/programs/alacritty/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ config, ... }: -let - defaultFont = "Source Code Pro"; -in -{ - programs.alacritty = { - enable = true; - settings = { - env.TERM = "xterm-256color"; - general.import = [ - "${config.xdg.configHome}/alacritty/catppuccin-mocha.toml" - ]; - selection.save_to_clipboard = true; - window = { - dimensions = { - columns = 120; - lines = 40; - }; - padding = { - x = 2; - y = 2; - }; - }; - scrolling = { - history = 10000; - multiplier = 3; - }; - font = { - normal.family = defaultFont; - bold = { - family = defaultFont; - style = "Bold"; - }; - italic = { - family = defaultFont; - style = "Italic"; - }; - size = 14; - offset = { - x = 0; - y = 0; - }; - glyph_offset = { - x = 0; - y = 0; - }; - }; - }; - }; - - home.file.".config/alacritty/catppuccin-latte.toml" = { - source = ./catppuccin-latte.toml; - }; - home.file.".config/alacritty/catppuccin-mocha.toml" = { - source = ./catppuccin-mocha.toml; - }; -} diff --git a/home/programs/bat.nix b/home/programs/bat.nix deleted file mode 100644 index fb27397..0000000 --- a/home/programs/bat.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ ... }: -{ - programs.bat = { - enable = true; - config = { - theme = "ansi"; - pager = "less -FR"; - }; - }; -} diff --git a/home/programs/firefox/extensions.nix b/home/programs/firefox/extensions.nix index bac8a78..20bfa49 100644 --- a/home/programs/firefox/extensions.nix +++ b/home/programs/firefox/extensions.nix @@ -5,4 +5,5 @@ with pkgs.nur.repos.rycee.firefox-addons; consent-o-matic sponsorblock ublock-origin + onepassword-password-manager ] diff --git a/home/programs/gh.nix b/home/programs/gh.nix deleted file mode 100644 index b194b35..0000000 --- a/home/programs/gh.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ ... }: -{ - programs.gh = { - enable = true; - settings = { - version = 1; - git_protocol = "ssh"; - prompt = "enabled"; - aliases = { - co = "pr checkout"; - vw = "pr view --web"; - }; - }; - }; -} diff --git a/home/programs/k9s.nix b/home/programs/k9s.nix deleted file mode 100644 index 2d60ab1..0000000 --- a/home/programs/k9s.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ ... }: -{ - programs.k9s = { - enable = true; - settings = { - k9s = { - refreshRate = 1; - }; - }; - plugin = { - plugins = { - log-bat = { - shortCut = "Shift-L"; - description = "Logs (bat)"; - scopes = [ "po" ]; - command = "bash"; - background = false; - args = [ - "-c" - "\"$@\" | bat" - "dummy-arg" - "kubectl" - "logs" - "$NAME" - "-n" - "$NAMESPACE" - "--context" - "$CONTEXT" - "--kubeconfig" - "$KUBECONFIG" - ]; - }; - log-bat-container = { - shortCut = "Shift-L"; - description = "Logs (bat)"; - scopes = [ "containers" ]; - command = "bash"; - background = false; - args = [ - "-c" - "\"$@\" | bat" - "dummy-arg" - "kubectl" - "logs" - "-c" - "$NAME" - "$POD" - "-n" - "$NAMESPACE" - "--context" - "$CONTEXT" - "--kubeconfig" - "$KUBECONFIG" - ]; - }; - }; - }; - }; -} diff --git a/home/programs/kubie.nix b/home/programs/kubie.nix deleted file mode 100644 index 5ac8678..0000000 --- a/home/programs/kubie.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - kubie # kubeconfig browser https://github.com/sbstp/kubie - ]; - - home.file.kubie = { - target = ".kube/kubie.yaml"; - text = '' - shell: fish - configs: - include: - - ~/.kube/rksconfig - prompt: - fish_use_rprompt: false - ''; - }; - - programs.fish = { - shellAbbrs = { - kctx = "kubie ctx"; - }; - }; -} diff --git a/home/programs/mpv.nix b/home/programs/mpv.nix deleted file mode 100644 index 925d4fe..0000000 --- a/home/programs/mpv.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ pkgs, ... }: -{ - programs.mpv = { - enable = true; - config = { - screenshot-directory = "~/Documents/screenshots"; - ontop = true; - profile = "gpu-hq"; - }; - scripts = with pkgs.mpvScripts; [ - sponsorblock - quality-menu # Switch video quality from YT on-the-go - vr-reversal # Script for mpv to play VR video with optional saving of head tracking data - ]; - }; -} diff --git a/home/programs/onepassword.nix b/home/programs/onepassword.nix deleted file mode 100644 index 6f7b7f5..0000000 --- a/home/programs/onepassword.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ pkgs, ... }: -{ - programs.onepassword = { - enable = true; - sshKeys = [ - { account = "my.1password.com"; } # All keys from personal account - ]; - }; - - # install the extension for firefox - programs.firefox.profiles.franck.extensions.packages = [ - pkgs.nur.repos.rycee.firefox-addons.onepassword-password-manager - ]; -} diff --git a/home/programs/rust.nix b/home/programs/rust.nix deleted file mode 100644 index 6ee3094..0000000 --- a/home/programs/rust.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ config, pkgs, ... }: -{ - home.packages = with pkgs; [ - rustup - ]; - - home.sessionVariables = { - RUSTUP_HOME = "${config.xdg.dataHome}/rustup"; - CARGO_HOME = "${config.xdg.dataHome}/cargo"; - }; - - home.sessionPath = [ - "${config.xdg.dataHome}/cargo/bin" - ]; -} diff --git a/home/programs/starship.nix b/home/programs/starship.nix deleted file mode 100644 index d3f4359..0000000 --- a/home/programs/starship.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ ... }: -{ - programs.starship = { - enable = true; - settings = { - add_newline = false; - palette = "catppuccin_mocha"; - character = { - success_symbol = "[›](bold green)"; - error_symbol = "[›](bold red)"; - }; - directory = { - fish_style_pwd_dir_length = 3; - }; - git_branch = { - symbol = "🌱 "; - }; - git_commit = { - commit_hash_length = 4; - }; - git_status = { - deleted = "✗"; - modified = "✶"; - staged = "✓"; - stashed = "≡"; - }; - "$schema" = "https://starship.rs/config-schema.json"; - hostname = { - ssh_only = true; - }; - username = { - disabled = true; - }; - kubernetes = { - disabled = false; - style = "bold blue"; - }; - # https://github.com/catppuccin/starship/blob/main/starship.toml - palettes.catppuccin_mocha = { - rosewater = "#f5e0dc"; - flamingo = "#f2cdcd"; - pink = "#f5c2e7"; - mauve = "#cba6f7"; - red = "#f38ba8"; - maroon = "#eba0ac"; - peach = "#fab387"; - yellow = "#f9e2af"; - green = "#a6e3a1"; - teal = "#94e2d5"; - sky = "#89dceb"; - sapphire = "#74c7ec"; - blue = "#89b4fa"; - lavender = "#b4befe"; - text = "#cdd6f4"; - subtext1 = "#bac2de"; - subtext0 = "#a6adc8"; - overlay2 = "#9399b2"; - overlay1 = "#7f849c"; - overlay0 = "#6c7086"; - surface2 = "#585b70"; - surface1 = "#45475a"; - surface0 = "#313244"; - base = "#1e1e2e"; - mantle = "#181825"; - crust = "#11111b"; - }; - nix_shell.disabled = false; - }; - }; -} diff --git a/home/programs/tmux.nix b/home/programs/tmux.nix deleted file mode 100644 index 9b84f5c..0000000 --- a/home/programs/tmux.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ pkgs, ... }: -{ - programs.tmux = { - enable = true; - terminal = "xterm-256color"; - escapeTime = 0; - aggressiveResize = true; - baseIndex = 1; - shortcut = "z"; - clock24 = true; - shell = "${pkgs.fish}/bin/fish"; - historyLimit = 50000; # Bigger buffer - extraConfig = '' - setw -g mouse on - # Avoid date/time taking up space - set -g status-right "" - set -g status-right-length 0 - set-option -g renumber-windows on - ''; - }; -} diff --git a/home/programs/yt-dlp.nix b/home/programs/yt-dlp.nix deleted file mode 100644 index ae48c18..0000000 --- a/home/programs/yt-dlp.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ ... }: -{ - programs.yt-dlp = { - enable = true; - - settings = { - mtime = false; - merge-output-format = "mkv"; - restrict-filenames = true; - embed-thumbnail = true; - embed-metadata = true; - embed-chapters = true; - sponsorblock-mark = "sponsor"; - output = "~/Movies/%(uploader)s/%(upload_date>%Y-%m-%d)s-%(title)s-%(id)s.%(ext)s"; - }; - }; -} |
