aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Nipper <nipsy@bitgnome.net>2026-05-21 15:54:05 -0700
committerMark Nipper <nipsy@bitgnome.net>2026-05-21 15:54:05 -0700
commit082cb3a8847a57d04605f52c36951b7cae0b3868 (patch)
treeb628fe6db00b31fa43990f72987c6e40fa8b2709
parent7f73c9eee033fbc2febcdeb13d891439c8f792b8 (diff)
downloadnix-082cb3a8847a57d04605f52c36951b7cae0b3868.tar
nix-082cb3a8847a57d04605f52c36951b7cae0b3868.tar.gz
nix-082cb3a8847a57d04605f52c36951b7cae0b3868.tar.bz2
nix-082cb3a8847a57d04605f52c36951b7cae0b3868.tar.lz
nix-082cb3a8847a57d04605f52c36951b7cae0b3868.tar.xz
nix-082cb3a8847a57d04605f52c36951b7cae0b3868.tar.zst
nix-082cb3a8847a57d04605f52c36951b7cae0b3868.zip
Add some missing prometheus configuration
-rw-r--r--home/trent/common/core/bash.nix10
-rw-r--r--home/trent/common/core/default.nix32
-rw-r--r--home/trent/common/core/git.nix13
-rw-r--r--home/trent/common/core/tmux/default.nix6
-rw-r--r--home/trent/common/core/tmux/tmux.conf34
-rw-r--r--home/trent/common/core/vim/default.nix6
-rw-r--r--home/trent/common/core/vim/vimrc47
-rw-r--r--home/trent/common/core/zsh/default.nix51
-rw-r--r--home/trent/common/core/zsh/zshrc128
-rw-r--r--home/trent/prometheus.nix82
10 files changed, 368 insertions, 41 deletions
diff --git a/home/trent/common/core/bash.nix b/home/trent/common/core/bash.nix
new file mode 100644
index 0000000..77f0cf4
--- /dev/null
+++ b/home/trent/common/core/bash.nix
@@ -0,0 +1,10 @@
+{
+ programs.bash = {
+ enable = true;
+ enableCompletion = true;
+ shellAliases = {
+ ll = "ls -alF --color=auto";
+ la = "ls -aF --color=auto";
+ };
+ };
+}
diff --git a/home/trent/common/core/default.nix b/home/trent/common/core/default.nix
new file mode 100644
index 0000000..e8e9646
--- /dev/null
+++ b/home/trent/common/core/default.nix
@@ -0,0 +1,32 @@
+{ config, lib, pkgs, outputs, ... }:
+{
+ imports = [
+ ./bash.nix
+ ./git.nix
+ ./tmux
+ ./vim
+ ./zsh
+ ];
+
+ home = {
+ username = lib.mkDefault "trent";
+ homeDirectory = lib.mkDefault "/home/${config.home.username}";
+ stateVersion = lib.mkDefault "26.05";
+ };
+
+ #home.packages = builtins.attrValues {
+ # inherit (pkgs)
+ # wget
+ # zip;
+ #};
+
+ nix = {
+ package = lib.mkDefault pkgs.nix;
+ settings = {
+ experimental-features = [ "nix-command" "flakes" ];
+ warn-dirty = false;
+ };
+ };
+
+ programs.home-manager.enable = true;
+}
diff --git a/home/trent/common/core/git.nix b/home/trent/common/core/git.nix
new file mode 100644
index 0000000..15c9a4c
--- /dev/null
+++ b/home/trent/common/core/git.nix
@@ -0,0 +1,13 @@
+{
+ programs.git = {
+ enable = true;
+ settings = {
+ pull.rebase = true;
+ #user = {
+ # email = "nipsy@bitgnome.net";
+ # name = "Mark Nipper";
+ #};
+ };
+ signing.format = null;
+ };
+}
diff --git a/home/trent/common/core/tmux/default.nix b/home/trent/common/core/tmux/default.nix
new file mode 100644
index 0000000..e7873f8
--- /dev/null
+++ b/home/trent/common/core/tmux/default.nix
@@ -0,0 +1,6 @@
+{
+ programs.tmux = {
+ enable = true;
+ extraConfig = (builtins.readFile ./tmux.conf);
+ };
+}
diff --git a/home/trent/common/core/tmux/tmux.conf b/home/trent/common/core/tmux/tmux.conf
new file mode 100644
index 0000000..479a896
--- /dev/null
+++ b/home/trent/common/core/tmux/tmux.conf
@@ -0,0 +1,34 @@
+#set-option -ga terminal-overrides ",st-256color:Tc"
+#set -as terminal-features ",foot*:RGB"
+#set -as terminal-features ",st-256color:RGB"
+set -ga monitor-bell on
+set -g history-limit 100000
+set -g bell-action any
+#set -g bell-on-alert on
+
+set -s escape-time 0
+
+setw -g aggressive-resize on
+setw -g wrap-search off
+
+bind-key a send-prefix
+bind-key k kill-session
+#bind-key H pipe-pane -o 'cat >> ~/.tmux.log.#h-#S-#I-#P'
+
+#bind-key m \
+# set -g mouse on \;\
+# display 'Mouse: ON'
+#bind M \
+# set -g mouse off \;\
+# display 'Mouse: OFF'
+
+# vim-like copypaste mode
+set-window-option -g mode-keys vi
+bind-key -T copy-mode-vi v send -X begin-selection
+bind-key -T copy-mode-vi y send -X copy-pipe "xclip -selection clipboard"
+bind-key -T copy-mode-vi C-v send -X rectangle-toggle
+bind-key P run "tmux set-buffer \"$(xclip -o -selection clipboard)\"; tmux paste-buffer"
+
+# don't exit copy mode after selection
+#set -s mouse on
+#bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-selection -x
diff --git a/home/trent/common/core/vim/default.nix b/home/trent/common/core/vim/default.nix
new file mode 100644
index 0000000..ea4ed5e
--- /dev/null
+++ b/home/trent/common/core/vim/default.nix
@@ -0,0 +1,6 @@
+{
+ programs.vim = {
+ enable = true;
+ extraConfig = (builtins.readFile ./vimrc);
+ };
+}
diff --git a/home/trent/common/core/vim/vimrc b/home/trent/common/core/vim/vimrc
new file mode 100644
index 0000000..87de2a0
--- /dev/null
+++ b/home/trent/common/core/vim/vimrc
@@ -0,0 +1,47 @@
+" Handling of big files - William Natter, Tony Mechelynck and others
+" fairly certain that BufSizeThreshold is in bytes
+let g:SaveUndoLevels = &undolevels
+let g:BufSizeThreshold = 5242880
+if has("autocmd")
+ au VimEnter * let g:SaveUndoLevels = &undolevels
+ au BufReadPre * if getfsize(expand("%")) >= g:BufSizeThreshold | setlocal noswapfile | endif
+ au BufEnter * if getfsize(expand("%")) < g:BufSizeThreshold | let &undolevels=g:SaveUndoLevels | else | setlocal undolevels=-1 | endif
+ au BufEnter * if getfsize(expand("%")) < g:BufSizeThreshold | syntax on | else | syntax off | endif
+endif
+
+set mouse&
+set noautoindent " always set autoindenting off
+
+" enable better 24-bit color support
+"let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
+"let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
+set termguicolors
+
+" If using a dark background within the editing area and syntax highlighting
+" turn on this option as well
+set background=dark
+
+if has("autocmd")
+ " Enabled file type detection
+ " Use the default filetype settings. If you also want to load indent files
+ " to automatically do language-dependent indenting add 'indent' as well.
+ filetype plugin on
+ "filetype indent on
+endif " has ("autocmd")
+
+" The following are commented out as they cause vim to behave a lot
+" different from regular vi. They are highly recommended though.
+set showcmd " Show (partial) command in status line.
+set showmatch " Show matching brackets.
+set ignorecase " Do case insensitive matching
+set incsearch " Incremental search
+"set expandtab " replace tabs with spaces
+set smarttab " use shiftwidth instead of tabstop at start of line
+set spell spelllang=en_us " turn on the spell check
+set hlsearch " highlight all search matches
+
+set laststatus=2
+set statusline=%<%f%h%m%r%=%{&ff}\ %Y\ %b\ 0x%B\ \ %l,%c%V\ %P
+
+"map <F5> :w<CR><bar>:!clear;go run %<CR>
+"map <F6> :w<CR><bar>:%! gofmt<CR>
diff --git a/home/trent/common/core/zsh/default.nix b/home/trent/common/core/zsh/default.nix
new file mode 100644
index 0000000..8c84501
--- /dev/null
+++ b/home/trent/common/core/zsh/default.nix
@@ -0,0 +1,51 @@
+{ lib, pkgs, ... }:
+{
+ programs.zsh = {
+ enable = true;
+
+ history = {
+ save = 100000;
+ size = 100000;
+ };
+
+ initContent = (builtins.readFile ./zshrc);
+
+ sessionVariables = let makePluginPath = format:
+ (lib.strings.makeSearchPath format [
+ "$HOME/.nix-profile/lib"
+ "/run/current-system/sw/lib"
+ "/etc/profiles/per-user/$USER/lib"
+ ]) + ":$HOME/.${format}";
+ in {
+ _JAVA_AWT_WM_NONREPARENTING = 1; # fix stupid broken Java shit
+ BROWSER = "firefox";
+ COLORFGBG = ";0";
+ #COLORFGBG = "green;blue";
+ #COLORTERM = "truecolor";
+ EDITOR = "vim";
+ LC_COLLATE = "C";
+ PAGER = "less";
+ #PASSWORD_STORE_ENABLE_EXTENSIONS = "true";
+ PATH = "$HOME/bin:$PATH";
+ #PS1 = "%B%n%b@%U%m%u/%l:%~> ";
+ QUOTING_STYLE = "literal";
+ };
+
+ shellAliases = {
+ FIXCAPS = "xdotool key Caps_Lock";
+ fixkeyboard = "setxkbmap -layout us -option caps:super -option compose:ralt";
+ ftp = "${pkgs.inetutils}/bin/ftp";
+ #geniso = "nix build ~/git/nix/nipsy#nixosConfigurations.iso.config.system.build.isoImage && ll result/iso/*iso";
+ grep = "grep --color=auto";
+ ip = "ip -c=auto";
+ la = "ls -aF --color=auto";
+ ll = "ls -alFhs --color=auto";
+ #lock = "xscreensaver-command -lock";
+ nix-list-derivations = "nix-store --query --requisites /run/current-system | cut -d- -f2- | sort | uniq";
+ nix-list-generations = "nixos-rebuild list-generations";
+ steam-no-beta = "steam -clearbeta";
+ telnet = "${pkgs.inetutils}/bin/telnet";
+ zgrep = "zgrep --color=auto";
+ };
+ };
+}
diff --git a/home/trent/common/core/zsh/zshrc b/home/trent/common/core/zsh/zshrc
new file mode 100644
index 0000000..08d4025
--- /dev/null
+++ b/home/trent/common/core/zsh/zshrc
@@ -0,0 +1,128 @@
+umask 022
+
+# remote gpg-agent handling
+if [[ ${HOST} == "arrakis.bitgnome.net" ]]; then
+ if [[ ! -d /run/user/1000/gnupg ]]; then
+ gpgconf --create-socketdir
+ fi
+fi
+
+eval $(dircolors)
+
+# set SWAYSOCK correctly
+if pgrep -U nipsy -x sway >/dev/null; then
+ export SWAYSOCK=/run/user/$(id -u)/sway-ipc.$(id -u).$(pgrep -x sway).sock
+fi
+
+# start sway by default if logging into tty1
+if [[ -z "${DISPLAY}" ]] && [[ $(tty) == "/dev/tty1" ]]; then
+
+ export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
+
+ # set some Wayland specific variables
+ export ELECTRON_OZONE_PLATFORM_HINT=auto
+ export MOZ_ENABLE_WAYLAND=1
+ export GDK_BACKEND=wayland
+ export QT_QPA_PLATFORM=wayland
+ export SDL_VIDEODRIVER=wayland
+ export XDG_SESSION_TYPE=wayland
+
+ exec sway > ~/.sway.log
+
+fi
+
+# completion options
+setopt LIST_PACKED MENU_COMPLETE
+# expansion and globbing options
+setopt NO_NOMATCH
+# history options
+setopt SHARE_HISTORY EXTENDED_HISTORY HIST_FCNTL_LOCK HIST_IGNORE_ALL_DUPS HIST_REDUCE_BLANKS HIST_SAVE_NO_DUPS
+# input/output options
+setopt PRINT_EXIT_VALUE RM_STAR_SILENT
+# job control options
+setopt LONG_LIST_JOBS NO_HUP
+# zle options
+setopt NO_BEEP
+
+# menu completion
+zstyle ':completion:*' menu select=5
+
+# vi keybindings and settings
+bindkey -v
+export KEYTIMEOUT=1
+autoload -U edit-command-line
+zle -N edit-command-line
+bindkey -M vicmd v edit-command-line
+
+# always open tmux if interactive
+[[ $- != *i* ]] && return
+#[[ -z "$TMUX" ]] && (tmux -2 new-session -t default \; new-window || tmux -2 new-session -s default)
+[[ -z "$TMUX" ]] && (tmux -2 attach -t default || tmux -2 new-session -s default)
+
+# useful helper functions
+function nix-file-list { find $(nix build ${1} --print-out-paths --no-link) }
+
+function ntrace {
+
+ if [[ -z ${argv} ]]; then
+ echo 'you must specify a command to strace!' >&2
+ return 1
+ fi
+
+ eval strace -f -e trace=network -s 10000 ${=argv[@]}
+
+}
+
+# prompt/theme shit
+function precmd {
+
+ local RC=${?}
+ #local RC=${(%)RC-%?}
+
+ print -nP '\n'
+
+ # current user
+ if [[ ${EUID} -eq 0 ]]; then
+ print -nP '%{%S%F{red}%}%n%{%f%s%}'
+ else
+ print -nP '%{%F{magenta}%}%n%{%f%}'
+ fi
+
+ print -nP '@'
+
+ # current host
+ if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then
+ print -nP '%{%F{yellow}%}%m%{%f%}'
+ else
+ print -nP '%{%F{green}%}%m%{%f%}'
+ fi
+
+ # connected terminal
+ print -nP '/%{%U%}%l%{%u%} '
+
+ # cwd
+ print -nP '%{%F{cyan}%}%~%{%f%} '
+
+ # job count
+ JOBCOUNT='%j'
+ if [[ ${(%)JOBCOUNT} -gt 0 ]]; then
+ print -nP 'j=%{%F{yellow}%}%j%{%f%} '
+ fi
+
+ # previous return code
+ if [[ ${RC} -ne 0 ]]; then
+ print -nP 'rc=%{%F{red}%}'
+ echo -n "${RC}"
+ print -nP '%{%f%} '
+ else
+ print -nP 'rc=%{%F{green}%}'
+ echo -n "${RC}"
+ print -nP '%{%f%} '
+ fi
+
+ # time stamp
+ print -P '%{%F{cyan}%}%D{%FT%T%z}%{%f%}'
+
+}
+
+PS1='%# '
diff --git a/home/trent/prometheus.nix b/home/trent/prometheus.nix
index 591fdb4..8919297 100644
--- a/home/trent/prometheus.nix
+++ b/home/trent/prometheus.nix
@@ -2,61 +2,61 @@
{
imports = [
common/core
- common/optional/desktops
- common/optional/desktops/i3
- common/optional/desktops/services/xscreensaver.nix
+ #common/optional/desktops
+ #common/optional/desktops/i3
+ #common/optional/desktops/services/xscreensaver.nix
#common/optional/desktops/sway
- common/optional/desktops/xdg.nix
- common/optional/secrets.nix
+ #common/optional/desktops/xdg.nix
+ #common/optional/secrets.nix
#inputs.sops-nix.homeManagerModules.sops
];
home.file = {
- ".mailcap".text = ''
- #application/msword; antiword -rs '%s'; copiousoutput; description=Microsoft Word Document
- application/pdf; pdftotext '%s' -; copiousoutput; description=Adobe Portable Document Format
- #image/gif; asciiview -driver curses -dim -bold -reverse -normal -boldfont -extended -eight '%s'; description=GIF image
- image/gif; sxiv '%s'; description=GIF image
- #image/jpeg; asciiview -driver curses -dim -bold -reverse -normal -boldfont -extended -eight '%s'; description=JPEG image
- image/jpeg; sxiv '%s'; description=JPEG image
- image/png; sxiv '%s'; description=PNG image
- text/html; elinks -dump %s; copiousoutput
- #text/richtext; catdoc '%s'; copiousoutput; description=Microsoft Rich Text Format
- '';
- ".mutt/aliases".source = ./arrakis/mutt/aliases;
- ".mutt/colors".source = ./arrakis/mutt/colors;
- ".mutt/headers".source = ./arrakis/mutt/headers;
- ".mutt/keys".source = ./arrakis/mutt/keys;
- ".mutt/muttrc".source = ./arrakis/mutt/muttrc;
+ #".mailcap".text = ''
+ # #application/msword; antiword -rs '%s'; copiousoutput; description=Microsoft Word Document
+ # application/pdf; pdftotext '%s' -; copiousoutput; description=Adobe Portable Document Format
+ # #image/gif; asciiview -driver curses -dim -bold -reverse -normal -boldfont -extended -eight '%s'; description=GIF image
+ # image/gif; sxiv '%s'; description=GIF image
+ # #image/jpeg; asciiview -driver curses -dim -bold -reverse -normal -boldfont -extended -eight '%s'; description=JPEG image
+ # image/jpeg; sxiv '%s'; description=JPEG image
+ # image/png; sxiv '%s'; description=PNG image
+ # text/html; elinks -dump %s; copiousoutput
+ # #text/richtext; catdoc '%s'; copiousoutput; description=Microsoft Rich Text Format
+ #'';
+ #".mutt/aliases".source = ./arrakis/mutt/aliases;
+ #".mutt/colors".source = ./arrakis/mutt/colors;
+ #".mutt/headers".source = ./arrakis/mutt/headers;
+ #".mutt/keys".source = ./arrakis/mutt/keys;
+ #".mutt/muttrc".source = ./arrakis/mutt/muttrc;
"bin/knock".source = ../common/scripts/knock;
};
programs.zsh = {
shellAliases = {
- manage = "tmux new-window ssh -A root@arrakis\\; split-window -d ssh -A root@darkstar\\; split-window -d ssh root@king\\; new-window ssh root@black-sheep\\; split-window -d ssh root@fangorn\\; split-window -d ssh root@treebeard\\; new-window ssh root@casey\\; split-window -d ssh root@homer\\; new-window ssh root@lilnasx\\; split-window -d ssh root@trent";
+ #manage = "tmux new-window ssh -A root@arrakis\\; split-window -d ssh -A root@darkstar\\; split-window -d ssh root@king\\; new-window ssh root@black-sheep\\; split-window -d ssh root@fangorn\\; split-window -d ssh root@treebeard\\; new-window ssh root@casey\\; split-window -d ssh root@homer\\; new-window ssh root@lilnasx\\; split-window -d ssh root@trent";
};
};
- sops = {
- age.keyFile = "/home/nipsy/.config/sops/age/keys.txt";
- defaultSopsFile = ./secrets/caladan.yaml;
+ #sops = {
+ # age.keyFile = "/home/trent/.config/sops/age/keys.txt";
+ # defaultSopsFile = ./secrets/prometheus.yaml;
- secrets = {
- "reaper_license" = {
- path = "/home/nipsy/.config/REAPER/reaper-license.rk";
- };
- "ssh_config" = {
- path = "/home/nipsy/.ssh/config";
- };
- };
- };
+ # secrets = {
+ # "reaper_license" = {
+ # path = "/home/trent/.config/REAPER/reaper-license.rk";
+ # };
+ # "ssh_config" = {
+ # path = "/home/trent/.ssh/config";
+ # };
+ # };
+ #};
- xsession = {
- initExtra = ''
- xrandr --output DisplayPort-0 --primary --mode 2560x1440 --rate 170
+ #xsession = {
+ # initExtra = ''
+ # xrandr --output DisplayPort-0 --primary --mode 2560x1440 --rate 170
- # disable VRR because it causes the display to go to sleep on my GeForce 1080 (now 3070 Ti) sometimes; maybe monitor related?
- #nvidia-settings -a AllowVRR=0
- '';
- };
+ # # disable VRR because it causes the display to go to sleep on my GeForce 1080 (now 3070 Ti) sometimes; maybe monitor related?
+ # #nvidia-settings -a AllowVRR=0
+ # '';
+ #};
}