random rice

This commit is contained in:
iofq 2025-06-20 23:39:52 -05:00
parent f080730c99
commit 60613b0a1d
No known key found for this signature in database
GPG key ID: ECF3B2DA38BF7183
17 changed files with 221 additions and 143 deletions

20
flake.lock generated
View file

@ -750,6 +750,25 @@
"type": "github" "type": "github"
} }
}, },
"nh": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1751031069,
"owner": "nix-community",
"repo": "nh",
"rev": "992aa30f55d35395b129376f16809319a9b23b16",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nh",
"type": "github"
}
},
"nix": { "nix": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
@ -1013,6 +1032,7 @@
"determinate": "determinate", "determinate": "determinate",
"home-manager": "home-manager", "home-manager": "home-manager",
"neovim-nightly-overlay": "neovim-nightly-overlay", "neovim-nightly-overlay": "neovim-nightly-overlay",
"nh": "nh",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",

View file

@ -31,6 +31,10 @@
url = "github:serokell/deploy-rs"; url = "github:serokell/deploy-rs";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nh = {
url = "github:nix-community/nh";
inputs.nixpkgs.follows = "nixpkgs";
};
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/*"; determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/*";
}; };
@ -50,6 +54,7 @@
overlays = [ overlays = [
inputs.neovim-nightly-overlay.overlays.default inputs.neovim-nightly-overlay.overlays.default
inputs.nvim.overlays.default inputs.nvim.overlays.default
inputs.nh.overlays.default
]; ];
}; };
eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system}); eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system});
@ -81,7 +86,6 @@
devShells.${system}.default = pkgs.mkShell { devShells.${system}.default = pkgs.mkShell {
inherit (self.checks.pre-commit-check) shellHook; inherit (self.checks.pre-commit-check) shellHook;
buildInputs = [ buildInputs = [
pkgs.nix
pkgs.home-manager pkgs.home-manager
pkgs.git pkgs.git
pkgs.ssh-to-age pkgs.ssh-to-age

View file

@ -1,12 +1,5 @@
{ {attrs, ...}: {
inputs,
attrs,
...
}: {
programs.home-manager.enable = true; programs.home-manager.enable = true;
nix = {
registry.nixpkgs.flake = inputs.nixpkgs;
};
home = { home = {
inherit (attrs) username; inherit (attrs) username;
stateVersion = "22.11"; stateVersion = "22.11";

View file

@ -7,6 +7,7 @@
tree tree
jujutsu jujutsu
emacs-nox emacs-nox
shellcheck
#devops #devops
k9s k9s

View file

@ -1,7 +1,4 @@
{ {pkgs, ...}: {
pkgs,
...
}: {
imports = [ imports = [
./tmux.nix ./tmux.nix
./git.nix ./git.nix
@ -88,6 +85,10 @@
pinentry-mode = "loopback"; pinentry-mode = "loopback";
}; };
}; };
programs.zoxide = {
enable = true;
enableFishIntegration = true;
};
services.gpg-agent = { services.gpg-agent = {
enable = true; enable = true;
enableSshSupport = true; enableSshSupport = true;
@ -95,10 +96,8 @@
allow-loopback-pinentry allow-loopback-pinentry
''; '';
}; };
programs = { programs.nix-index = {
nix-index = {
enableBashIntegration = false; enableBashIntegration = false;
enableFishIntegration = true; enableFishIntegration = true;
}; };
};
} }

View file

@ -1,4 +1,4 @@
{pkgs, host, ...}: { {pkgs, ...}: {
programs.fish = { programs.fish = {
enable = true; enable = true;
interactiveShellInit = '' interactiveShellInit = ''
@ -6,17 +6,21 @@
set show_startup_tips false set show_startup_tips false
''; '';
shellInit = " shellInit = "
fish_add_path /usr/local/go/bin
fish_add_path ~/go/bin fish_add_path ~/go/bin
fish_add_path ~/.local/bin fish_add_path ~/.local/bin
set -gx MANPAGER 'nvim +Man!' set -gx MANPAGER 'nvim +Man!'
set -gx EDITOR 'nvim' set -gx EDITOR 'nvim'
set -gx _JAVA_AWT_WM_NONREPARENTING 1 set -gx NH_FLAKE '/home/e/dev/nix'
set -gx NIX_FLAKE '/home/e/dev/nix'
"; ";
plugins = [ plugins = [
{name = "fzf"; inherit (pkgs.fishPlugins.fzf-fish) src;} {
{name = "puffer"; inherit (pkgs.fishPlugins.puffer) src;} name = "fzf";
inherit (pkgs.fishPlugins.fzf-fish) src;
}
{
name = "puffer";
inherit (pkgs.fishPlugins.puffer) src;
}
]; ];
functions = import ./functions.nix; functions = import ./functions.nix;
shellAbbrs = { shellAbbrs = {
@ -25,14 +29,11 @@
}; };
shellAliases = { shellAliases = {
":q" = "exit"; ":q" = "exit";
hms = "home-manager switch --flake $NIX_FLAKE#${host.username}";
rbs = "sudo nixos-rebuild switch --flake $NIX_FLAKE#${host.hostName}";
mpv = "mpv --no-keepaspect-window"; mpv = "mpv --no-keepaspect-window";
cat = "bat -pp"; cat = "bat -pp";
tcd = "cd $(mktemp -d)"; tcd = "cd $(mktemp -d)";
docker = "nerdctl"; docker = "nerdctl";
vimdiff = "nvim -d"; vimdiff = "nvim -d";
ls = "eza";
}; };
}; };
} }

View file

@ -16,19 +16,29 @@
end end
''; '';
}; };
nix-prefetch-hash = {
body = ''
nix-hash --type sha256 --to-base64 (nix-prefetch-url $argv)
'';
};
fish_jj_prompt = { fish_jj_prompt = {
body = '' body = ''
if not command -sq jj if not command -sq jj
return 1 return 1
end end
if not command -sq timeout
return 1
end
if set -q FISH_JJ
return 0
end
if not jj root &>/dev/null if not jj root &>/dev/null
return 1 return 1
end end
# Generate prompt # Generate prompt
set -l info "$( set -l info "$(
jj log --ignore-working-copy --no-graph --color=always --revisions=@ --template " timeout 5 jj log --ignore-working-copy --no-graph --color=always --revisions=@ --template "
separate( separate(
' ', ' ',
self.change_id().shortest(), self.change_id().shortest(),

View file

@ -1,4 +1,5 @@
{pkgs, ...}: { { pkgs, ... }:
{
programs.git = { programs.git = {
enable = true; enable = true;
userEmail = "cjriddz@protonmail.com"; userEmail = "cjriddz@protonmail.com";
@ -26,6 +27,9 @@
settings = { settings = {
core = { core = {
fsmonitor = "watchman"; fsmonitor = "watchman";
watchman = {
register-snapshot-trigger = false;
};
}; };
user = { user = {
email = "cjriddz@protonmail.com"; email = "cjriddz@protonmail.com";
@ -35,7 +39,7 @@
username = "iofq"; username = "iofq";
}; };
signing = { signing = {
behavior = "own"; behavior = "drop";
backend = "gpg"; backend = "gpg";
key = "cjriddz@protonmail.com"; key = "cjriddz@protonmail.com";
}; };
@ -43,11 +47,11 @@
sign-on-push = true; sign-on-push = true;
}; };
ui = { ui = {
default-command = ["log"]; default-command = [ "log" ];
conflict-marker-style = "git"; conflict-marker-style = "git";
merge-editor = "vimdiff"; merge-editor = "vimdiff";
diff-editor = "diffview"; diff-editor = "diffview";
diff.format = "git"; diff-formatter = ":git";
paginate = "never"; paginate = "never";
movement = { movement = {
edit = true; edit = true;
@ -81,10 +85,25 @@
max-new-file-size = "10MiB"; max-new-file-size = "10MiB";
}; };
revsets = { revsets = {
log = "ancestors(reachable(@,trunk()..),2) | trunk()"; anc = "ancestors(@,10) | trunk()";
}; };
aliases = { aliases = {
tug = ["bookmark" "move" "--from" "heads(::@- & bookmarks())" "--to" "@"]; tug = [
"bookmark"
"move"
"--from"
"heads(::@- & bookmarks())"
"--to"
"@"
];
};
fix = {
tools = {
treefmt = {
command = [ "treefmt" ];
patterns = [ "glob:**/*.nix" ];
};
};
}; };
}; };
}; };

View file

@ -26,7 +26,8 @@
default_mode "locked" default_mode "locked"
keybinds { keybinds {
tmux { tmux {
bind "Ctrl a" { Write 2; SwitchToMode "Locked"; } bind "Ctrl a" { SwitchToMode "Locked"; }
bind "Ctrl b" { Write 1; }
bind "[" { SwitchToMode "Scroll"; } bind "[" { SwitchToMode "Scroll"; }
bind "\"" { NewPane "Down"; SwitchToMode "Locked"; } bind "\"" { NewPane "Down"; SwitchToMode "Locked"; }
bind "%" { NewPane "Right"; SwitchToMode "Locked"; } bind "%" { NewPane "Right"; SwitchToMode "Locked"; }
@ -60,6 +61,9 @@
bind "8" { GoToTab 8; SwitchToMode "Locked"; } bind "8" { GoToTab 8; SwitchToMode "Locked"; }
bind "9" { GoToTab 9; SwitchToMode "Locked"; } bind "9" { GoToTab 9; SwitchToMode "Locked"; }
} }
locked {
unbind "Ctrl g"
}
shared_except "tmux" { shared_except "tmux" {
bind "Ctrl a" { bind "Ctrl a" {
SwitchToMode "Tmux" SwitchToMode "Tmux"

View file

@ -7,8 +7,8 @@
./alacritty ./alacritty
./hyprland ./hyprland
]; ];
home = {
home.packages = with pkgs; [ packages = with pkgs; [
pulseaudio pulseaudio
pulsemixer pulsemixer
alsa-utils alsa-utils
@ -20,10 +20,41 @@
sway-contrib.grimshot sway-contrib.grimshot
xdg-utils xdg-utils
]; ];
home.sessionVariables = { sessionVariables = {
MOZ_DBUS_REMOTE = 1; MOZ_DBUS_REMOTE = 1;
}; };
programs.wofi = { file.".icons/default".source = "${pkgs.vanilla-dmz}/share/icons/DMZ-Black";
};
services = {
gammastep = {
enable = true;
dawnTime = "6:00-8:00";
duskTime = "20:00-22:00";
latitude = 43.0;
longitude = -89.0;
temperature.day = 6000;
temperature.night = 3500;
};
swayidle = {
enable = true;
events = [
{
event = "before-sleep";
command = "${config.programs.swaylock.package}/bin/swaylock";
}
{
event = "lock";
command = "${config.programs.swaylock.package}/bin/swaylock";
}
];
};
mako.enable = true;
mako.settings = {
default-timeout = 5;
};
};
programs = {
wofi = {
enable = true; enable = true;
style = '' style = ''
window, #input, #entry, #scroll, #text, #inner-box { window, #input, #entry, #scroll, #text, #inner-box {
@ -36,16 +67,7 @@
} }
''; '';
}; };
services.gammastep = { swaylock = {
enable = true;
dawnTime = "6:00-8:00";
duskTime = "20:00-22:00";
latitude = 43.0;
longitude = -89.0;
temperature.day = 6000;
temperature.night = 3500;
};
programs.swaylock = {
enable = true; enable = true;
package = pkgs.swaylock-effects; package = pkgs.swaylock-effects;
settings = { settings = {
@ -55,18 +77,6 @@
ignore-empty-password = true; ignore-empty-password = true;
}; };
}; };
services.swayidle = {
enable = true;
events = [
{
event = "before-sleep";
command = "${config.programs.swaylock.package}/bin/swaylock";
}
{
event = "lock";
command = "${config.programs.swaylock.package}/bin/swaylock";
}
];
}; };
xdg = { xdg = {
configFile."mimeapps.list".force = true; configFile."mimeapps.list".force = true;
@ -92,6 +102,4 @@
}; };
}; };
}; };
services.mako.enable = true;
home.file.".icons/default".source = "${pkgs.vanilla-dmz}/share/icons/DMZ-Black";
} }

View file

@ -91,7 +91,7 @@
",XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle" ",XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle"
## Movement ## Movement
"$mod, p, layoutmsg, swapwithmaster" "$mod, m, layoutmsg, swapwithmaster"
"$mod, e, layoutmsg, orientationnext" "$mod, e, layoutmsg, orientationnext"
"$mod, i, layoutmsg, addmaster" "$mod, i, layoutmsg, addmaster"
"$mod, d, layoutmsg, removemaster" "$mod, d, layoutmsg, removemaster"
@ -100,6 +100,7 @@
"$mod, k, movefocus, u" "$mod, k, movefocus, u"
"$mod, j, movefocus, d" "$mod, j, movefocus, d"
"$mod, n, changegroupactive, f" "$mod, n, changegroupactive, f"
"$mod, p, changegroupactive, b"
"$mod SHIFT, h, movewindoworgroup, l" "$mod SHIFT, h, movewindoworgroup, l"
"$mod SHIFT, l, movewindoworgroup, r" "$mod SHIFT, l, movewindoworgroup, r"
"$mod SHIFT, k, movewindoworgroup, u" "$mod SHIFT, k, movewindoworgroup, u"

View file

@ -32,7 +32,12 @@
appimage-run appimage-run
wireguard-tools wireguard-tools
android-tools android-tools
nh
]; ];
sessionVariables = {
MOZ_ENABLE_WAYLAND = 1;
JAVA_AWT_WM_NONREPARENTING = 1;
};
}; };
programs.librewolf.enable = true; programs.librewolf.enable = true;
programs.ssh = { programs.ssh = {

View file

@ -1,7 +1,9 @@
{ {
host, inputs,
... host,
}: { # Create plugdev group ...
}: {
# Create plugdev group
networking.hostName = host.hostName; networking.hostName = host.hostName;
time.timeZone = "America/Chicago"; time.timeZone = "America/Chicago";
users = { users = {
@ -28,6 +30,7 @@ host,
# Enable flakes and unfree packages # Enable flakes and unfree packages
nix = { nix = {
registry.nixpkgs.flake = inputs.nixpkgs;
settings = { settings = {
auto-optimise-store = true; auto-optimise-store = true;
substituters = [ substituters = [
@ -40,11 +43,15 @@ host,
]; ];
trusted-users = [host.username]; trusted-users = [host.username];
experimental-features = ["nix-command" "flakes"]; experimental-features = ["nix-command" "flakes"];
lazy-trees = true;
}; };
channel.enable = false;
nixPath = ["nixpkgs=flake:nixpkgs"];
gc = { gc = {
automatic = true; automatic = true;
dates = "00:00"; dates = "00:00";
options = "--delete-older-than 14d"; options = "--delete-older-than 14d";
}; };
}; };
security.sudo-rs.enable = true;
} }

View file

@ -1,11 +1,16 @@
{lib, pkgs, config, ...}: { {
lib,
pkgs,
config,
...
}: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./backups.nix ./backups.nix
]; ];
sops = { sops = {
secrets = { secrets = {
"env" = { sopsFile = ../../secrets/cf-acme.yaml; }; "env" = {sopsFile = ../../secrets/cf-acme.yaml;};
}; };
}; };
documentation = { documentation = {
@ -44,7 +49,7 @@
port = 2283; port = 2283;
host = "localhost"; host = "localhost";
openFirewall = true; openFirewall = true;
machine-learning.enable = false; machine-learning.enable = true;
mediaLocation = "/rice/immich"; mediaLocation = "/rice/immich";
}; };
nginx = { nginx = {
@ -76,8 +81,8 @@
zramSwap.enable = false; zramSwap.enable = false;
swapDevices = [ swapDevices = [
{ {
device = "/var/swapfile"; device = "/swapfile";
size = 4 * 1024; size = 8 * 1024;
} }
]; ];
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
@ -115,7 +120,7 @@
]; ];
}; };
}; };
security.sudo.wheelNeedsPassword = false; security.sudo-rs.wheelNeedsPassword = false;
security.acme = { security.acme = {
acceptTerms = true; acceptTerms = true;
defaults.email = "acme@10110110.xyz"; defaults.email = "acme@10110110.xyz";

View file

@ -6,6 +6,7 @@
... ...
}: let }: let
defaultModules = [ defaultModules = [
./configuration.nix
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
inputs.nix-index-database.nixosModules.nix-index inputs.nix-index-database.nixosModules.nix-index
inputs.determinate.nixosModules.default inputs.determinate.nixosModules.default
@ -23,7 +24,6 @@ in {
modules = modules =
defaultModules defaultModules
++ [ ++ [
./configuration.nix
./t14/configuration.nix ./t14/configuration.nix
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen1 inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen1
]; ];
@ -40,7 +40,6 @@ in {
modules = modules =
defaultModules defaultModules
++ [ ++ [
./configuration.nix
./consensus/configuration.nix ./consensus/configuration.nix
]; ];
}; };

View file

@ -17,6 +17,7 @@
paths = [ paths = [
"/home/e/backmeup" "/home/e/backmeup"
"/home/e/orgfiles"
"/home/e/.ssh" "/home/e/.ssh"
"/home/e/.librewolf" "/home/e/.librewolf"
"/home/e/.runelite" "/home/e/.runelite"

View file

@ -15,6 +15,7 @@ in {
cryptsetup cryptsetup
nfs-utils nfs-utils
nerdctl nerdctl
(lib.hiPrio uutils-coreutils-noprefix)
]; ];
extraInit = "[[ -f ${homeManagerSessionVars} ]] && source ${homeManagerSessionVars} && echo 'x' > /tmp/test"; extraInit = "[[ -f ${homeManagerSessionVars} ]] && source ${homeManagerSessionVars} && echo 'x' > /tmp/test";
}; };