Compare commits

...
Sign in to create a new pull request.

11 commits

Author SHA1 Message Date
Don Harper
489e494aac home-manager | set to pull from 25.11 2026-01-06 23:27:20 -06:00
Don Harper
ce2854ed04 home/gui | switch firefox -> librewolf, add extensions. WIP 2026-01-06 23:26:59 -06:00
Don Harper
ea5c9e1f3d home/gui | remove unused files 2026-01-06 23:25:58 -06:00
Don Harper
5a0ece7206 home | switch from nvf back to nixvim 2026-01-04 22:47:45 -06:00
Don Harper
f33943bfa0 home/sway | cleanup, remove pasystray as no longer working, do not install yt-dlp from nix 2026-01-04 08:58:48 -06:00
Don Harper
4080e530eb home/mpv | add flag to tell yt-dlp to mark video watched 2026-01-04 08:58:03 -06:00
Don Harper
46f468b632 hosts/workstation | added back older style for logind lid switch as new ones do not work 2026-01-04 08:57:20 -06:00
Don Harper
cc8905a4d2 add sshfs 2026-01-01 15:08:47 -06:00
Don Harper
a7ed904dca pi-server | revert 2026-01-01 15:08:40 -06:00
Don Harper
dfa12b5b4d host/workstation/default | remove old options 2025-12-30 00:45:40 -06:00
Don Harper
ed7b484260 tracking upstream changes 2025-12-30 00:28:00 -06:00
18 changed files with 289 additions and 97 deletions

176
flake.lock generated
View file

@ -132,6 +132,27 @@
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1765835352,
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "a34fae9c08a15ad73f295041fec82323541400a9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"nvf",
@ -203,6 +224,24 @@
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"git-hooks-nix": {
"inputs": {
"flake-compat": [
@ -241,19 +280,48 @@
]
},
"locked": {
"lastModified": 1766682973,
"narHash": "sha256-GKO35onS711ThCxwWcfuvbIBKXwriahGqs+WZuJ3v9E=",
"lastModified": 1767619900,
"narHash": "sha256-KpoCBPvwHz3gAQtIUkohE2InRBFK3r0/FM6z5SPWfvM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "91cdb0e2d574c64fae80d221f4bf09d5592e9ec2",
"rev": "6bd04da47cfb48dfd15eabf08364b78ad894f5b2",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"repo": "home-manager",
"type": "github"
}
},
"ixx": {
"inputs": {
"flake-utils": [
"nixvim",
"nuschtosSearch",
"flake-utils"
],
"nixpkgs": [
"nixvim",
"nuschtosSearch",
"nixpkgs"
]
},
"locked": {
"lastModified": 1754860581,
"narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.1.1",
"repo": "ixx",
"type": "github"
}
},
"mnw": {
"locked": {
"lastModified": 1758834834,
@ -290,7 +358,7 @@
},
"ndg": {
"inputs": {
"nixpkgs": "nixpkgs_7"
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1765720983,
@ -507,6 +575,22 @@
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1767325753,
"narHash": "sha256-yA/CuWyqm+AQo2ivGy6PlYrjZBQm7jfbe461+4HF2fo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "64049ca74d63e971b627b5f3178d95642e61cedd",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1764242076,
"narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=",
@ -522,7 +606,7 @@
"type": "github"
}
},
"nixpkgs_8": {
"nixpkgs_9": {
"locked": {
"lastModified": 1766125104,
"narHash": "sha256-l/YGrEpLromL4viUo5GmFH3K5M1j0Mb9O+LiaeCPWEM=",
@ -538,16 +622,61 @@
"type": "github"
}
},
"nixvim": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_7",
"nuschtosSearch": "nuschtosSearch",
"systems": "systems_4"
},
"locked": {
"lastModified": 1767448089,
"narHash": "sha256-U1fHsZBnFrUil731NHD9Sg5HoiG+eSHau8OFuClhwW0=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "983751b66f255bbea1adc185364e9e7b73f82358",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "nixos-25.11",
"repo": "nixvim",
"type": "github"
}
},
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils_4",
"ixx": "ixx",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1761730856,
"narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=",
"owner": "NuschtOS",
"repo": "search",
"rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"repo": "search",
"type": "github"
}
},
"nvf": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-parts": "flake-parts_2",
"flake-parts": "flake-parts_3",
"mnw": "mnw",
"ndg": "ndg",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_3"
"systems": "systems_5"
},
"locked": {
"lastModified": 1766596669,
@ -574,6 +703,7 @@
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_6",
"nixpkgs-stable": "nixpkgs-stable",
"nixvim": "nixvim",
"nvf": "nvf",
"sops-nix": "sops-nix"
}
@ -598,7 +728,7 @@
},
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_8"
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1766289575,
@ -674,6 +804,36 @@
"repo": "default",
"type": "github"
}
},
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",

View file

@ -5,6 +5,8 @@
nixConfig = {allowUnfree = true;};
inputs = {
# nixvim.url = "github:nix-community/nixvim";
nixvim.url = "github:nix-community/nixvim/nixos-25.11";
# nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
sops-nix.url = "github:Mic92/sops-nix";
@ -17,7 +19,7 @@
catppuccin.url = "github:catppuccin/nix";
colmena.url = "github:zhaofengli/colmena";
colmena.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager";
home-manager.url = "github:nix-community/home-manager/release-25.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
naviterm.url = "gitlab:detoxify92/naviterm";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";

View file

@ -19,7 +19,8 @@
./mail.nix
./naviterm.nix
./newsboat.nix
./nvf.nix
./nixvim.nix
# ./nvf.nix
./ssh.nix
./taskwarrior.nix
./topgrade.nix
@ -65,7 +66,6 @@
keychain
keyutils
lazygit
librewolf
links2
liquidprompt
lynx

View file

@ -4,6 +4,7 @@
enable = true;
enableManpages = true;
settings = {
# https://nvf.notashelf.dev/options.html
vim = {
luaConfigPost = ''
vim.o.tabstop = 2
@ -39,6 +40,7 @@
context.enable = true;
fold = true;
autotagHtml.enable = true;
indent.enable = true;
};
syntaxHighlighting = true;
keymaps = [

View file

@ -19,14 +19,14 @@
don = {
imports = [
inputs.catppuccin.homeModules.catppuccin
inputs.nvf.homeManagerModules.default
# inputs.nixvim.homeModules.nixvim
# inputs.nvf.homeManagerModules.default
inputs.nixvim.homeModules.nixvim
./common
];
home = {
username = "don";
homeDirectory = "/home/don";
stateVersion = "23.05";
stateVersion = "25.11";
};
programs = {
home-manager = {enable = true;};

View file

@ -14,10 +14,9 @@ in {
imports = [
./alacritty.nix
./autostart.nix
# ./fuzzel.nix
# ./kde.nix
./librewolf.nix
./mpv.nix
# ./redshift.nix
./qutebrowser.nix
./services.nix
./sway.nix
@ -41,7 +40,7 @@ in {
clipman
darktable
# element-desktop
firefox
# firefox
gnumeric
headset-charge-indicator
ibm-plex
@ -57,7 +56,6 @@ in {
nvd
obsidian
overpass
pasystray
pavucontrol
pwvucontrol
qpwgraph
@ -74,7 +72,7 @@ in {
# watchmate
widevine-cdm
wlsunset
yt-dlp
# yt-dlp
];
# ] ++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") feishin;
# ] ++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") sonixd;

View file

@ -1,21 +0,0 @@
{ config, pkgs, ... }: {
home.packages = with pkgs; [ fuzzel ];
programs.fuzzel = {
enable = true;
settings = {
main = {
icon-theme = "Papirus-Dark";
width = 50;
# font = "Ubuntu:style=Bold:size=12, Hack:weight=bold:size=12";
fields = "name,generic,comment,categories,filename,keywords";
prompt = " ";
layer = "overlay";
};
border = { radius = 20; };
dmenu = {
exit-immediately-if-empty = true;
mode = "index";
};
};
};
}

73
home/gui/librewolf.nix Normal file
View file

@ -0,0 +1,73 @@
{
config,
pkgs,
...
}: {
programs.firefox = {
enable = true;
package = pkgs.librewolf;
policies = {
Cookies = {
"Allow" = [
"https://addy.io"
"https://element.io"
"https://discord.com"
"https://github.com"
"https://lemmy.cafe"
"https://proton.me"
];
"Locked" = true;
};
DisableTelemetry = true;
DisableFirefoxStudies = true;
ExtensionSettings = {
# Catpuccin Mocha - Lavender
"{8446b178-c865-4f5c-8ccc-1d7887811ae3}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/catppuccin-mocha-lavender-git/latest.xpi";
installation_mode = "force_installed";
};
# Tridactyl
"tridactyl.vim@cmcaine.co.uk" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/tridactyl-vim/latest.xpi";
installation_mode = "force_installed";
};
# uBlock Origin
"uBlock0@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
installation_mode = "force_installed";
};
# Bitwarden
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
installation_mode = "force_installed";
};
# Dark Reader
"addon@darkreader.org" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
installation_mode = "force_installed";
};
};
FirefoxHome = {
"Search" = false;
};
HardwareAcceleration = true;
Preferences = {
"browser.preferences.defaultPerformanceSettings.enabled" = false;
"browser.startup.homepage" = "about:home";
"browser.toolbar.bookmarks.visibility" = "newtab";
"browser.toolbars.bookmarks.visibility" = "newtab";
"browser.urlbar.suggest.bookmark" = false;
"browser.urlbar.suggest.engines" = false;
"browser.urlbar.suggest.history" = false;
"browser.urlbar.suggest.openpage" = false;
"browser.urlbar.suggest.recentsearches" = false;
"browser.urlbar.suggest.topsites" = false;
"browser.warnOnQuit" = false;
"browser.warnOnQuitShortcut" = false;
"places.history.enabled" = "false";
"privacy.resistFingerprinting" = true;
"privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" = true;
};
};
};
}

View file

@ -35,8 +35,8 @@
ytdl = "yes";
ytdl-format = "bestvideo+bestaudio";
# Only needed when/if youtube blocks annon access again
# ytdl-raw-options = "no-playlist=,cookies-from-browser=firefox,force-ipv4=";
ytdl-raw-options = "no-playlist=,force-ipv4=";
# ytdl-raw-options = "mark-watched=,no-playlist=,cookies-from-browser=firefox,force-ipv4=";
ytdl-raw-options = "mark-watched=,no-playlist=,force-ipv4=";
};
profiles = {
utube = {

View file

@ -57,6 +57,7 @@
cnn = "https://www.cnn.com";
crhs = "https://www.katyisd.org/CRHS";
crhs-absence = "https://www.katyisd.org/domain/5809";
cultpens = "https://cultpens.com/";
cups = "http://localhost:631/printers/printer";
disk = "https://smart.trex-halfbeak.ts.net/web/dashboard";
ercot = "https://www.ercot.com/gridmktinfo/dashboards";

View file

@ -1,21 +0,0 @@
{ config, pkgs, ... }: {
services.redshift = {
enable = true;
latitude = "29.74";
longitude = "-95.77";
provider = "manual";
settings = {
redshift = {
tray = true;
adjustment-method = "vidmode";
brightness-day = "1.0";
brightness-night = "0.7";
# This *should work*
#temperature = {
#day = 6500;
#night = 3500;
#};
};
};
};
}

View file

@ -38,17 +38,17 @@
title_align center
# Music control
bindsym XF86AudioPlay exec --no-startup-id control-music --pause
bindsym Control+Shift+F7 exec --no-startup-id control-music --pause
bindsym XF86AudioNext exec --no-startup-id control-music --next
bindsym Control+Shift+F2 exec --no-startup-id control-music --next
bindsym XF86AudioPrev exec --no-startup-id control-music --prev
bindsym Control+Shift+F1 exec --no-startup-id control-music --prev
bindsym XF86AudioStop exec --no-startup-id control-music --stop
bindsym Control+Shift+F7 exec --no-startup-id control-music --pause
bindsym Control+Shift+F2 exec --no-startup-id control-music --next
bindsym Control+Shift+F1 exec --no-startup-id control-music --prev
# Brightness
bindsym XF86MonBrightnessDown exec light -U 10
bindsym Control+Shift+F5 exec light -U 10
bindsym XF86MonBrightnessUp exec light -A 10
bindsym Control+Shift+F5 exec light -U 10
bindsym Control+Shift+F6 exec light -A 10
# Volume
@ -82,7 +82,6 @@
bindsym menu exec $menu_command
bindsym $mod+Shift+w exec dwifi
bindsym $mod+d exec --no-startup-id $menu
bindsym $mod+t exec --no-startup-id $HOME/bin/mynewterm -e ttmenu
# change focus
bindsym $mod+j focus left
@ -303,7 +302,6 @@
client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
client.background #F8F8F2
exec ${pkgs.pasystray}/bin/pasystray
exec_always ${pkgs.keyutils}/bin/keyctl link @u @s
exec ${pkgs.shikane}/bin/shikane
exec ${pkgs.wayland-pipewire-idle-inhibit}/bin/wayland-pipewire-idle-inhibit
@ -314,8 +312,6 @@
exec ${pkgs.dbus}/bin/dbus-update-activation-environment --all 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec ${pkgs.udiskie}/bin/udiskie
exec ${pkgs.wl-clipboard}/bin/wl-paste -t text --watch clipman store
exec ~/bin/configure-gtk
exec ~/bin/dovideo.sh
exec ~/bin/auto-start
exec ${pkgs.sway-audio-idle-inhibit}/bin/sway-audio-idle-inhibit
exec ${pkgs.swaynotificationcenter}/bin/swaync
@ -325,7 +321,7 @@
exec ~/bin/myterm
exec ${pkgs.headset-charge-indicator}/bin/headset-charge-indicator.py
exec ${pkgs.wlsunset}/bin/wlsunset -l 29.7 -L -95.8
exec ${pkgs.blueberry}/bin/blueberry-tray
# exec ${pkgs.blueberry}/bin/blueberry-tray
'';
programs = {

View file

@ -183,6 +183,7 @@ in {
podman
poppler-utils
ruby
sshfs
sops
udiskie
];

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: {
system.activationScripts.diff = {
stdenv.hostPlatform.system.activationScripts.diff = {
supportsDryActivation = true;
text = ''
${pkgs.nvd}/bin/nvd --nix-bin-dir=${pkgs.nix}/bin diff /run/current-system "$systemConfig"

View file

@ -349,6 +349,7 @@ in {
poppler-utils
pulseaudio
ruby
sshfs
sops
termsonic
# toot

View file

@ -61,5 +61,5 @@
]
++ (args.extraPublicKeys or []); # this is used for unit-testing this module and can be removed if not needed
system.stateVersion = "25.11";
stdenv.hostPlatform.system.stateVersion = "25.11";
}

View file

@ -13,7 +13,7 @@
}:
{
nixosConfigurations.hetzner-cloud = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
stdenv.hostPlatform.system = "x86_64-linux";
modules = [
disko.nixosModules.disko
./configuration.nix
@ -21,7 +21,7 @@
};
# tested with 2GB/2CPU droplet, 1GB droplets do not have enough RAM for kexec
nixosConfigurations.digitalocean = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
stdenv.hostPlatform.system = "x86_64-linux";
modules = [
./digitalocean.nix
disko.nixosModules.disko
@ -30,7 +30,7 @@
];
};
nixosConfigurations.hetzner-cloud-aarch64 = nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
stdenv.hostPlatform.system = "aarch64-linux";
modules = [
disko.nixosModules.disko
./configuration.nix
@ -40,7 +40,7 @@
# Use this for all other targets
# nixos-anywhere --flake .#generic --generate-hardware-config nixos-generate-config ./hardware-configuration.nix <hostname>
nixosConfigurations.generic = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
stdenv.hostPlatform.system = "x86_64-linux";
modules = [
disko.nixosModules.disko
./configuration.nix
@ -51,7 +51,7 @@
# Slightly experimental: Like generic, but with nixos-facter (https://github.com/numtide/nixos-facter)
# nixos-anywhere --flake .#generic-nixos-facter --generate-hardware-config nixos-facter facter.json <hostname>
nixosConfigurations.generic-nixos-facter = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
stdenv.hostPlatform.system = "x86_64-linux";
modules = [
disko.nixosModules.disko
./configuration.nix