commit d58963570544b0921a3e6aa09203e99b36d952bf
parent 610531670c37084c76033d191e3a267e86f3b46c
Author: vin <git@vineetk.net>
Date: Wed, 1 Jan 2025 12:01:10 -0500
update nixos to 24.11 and try adding stuff from existing imperative config
Diffstat:
| M | flake.nix | | | 20 | ++++++++++++++++++-- |
| M | home.nix | | | 83 | +++++++++++++++++++++++++++++++++++++++++++++---------------------------------- |
2 files changed, 65 insertions(+), 38 deletions(-)
diff --git a/flake.nix b/flake.nix
@@ -2,10 +2,10 @@
description = "my nixos configuration";
inputs = {
- nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
+ nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
home-manager = {
- url = "github:nix-community/home-manager/release-24.05";
+ url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
@@ -18,11 +18,27 @@
outputs = { self, home-manager, nixpkgs, everblush-gtk, ... }@inputs: {
# TODO: deduplicate this
nixosConfigurations = {
+ demiurge = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ specialArgs = inputs;
+ modules = [
+ ./hosts/demiurge
+
+ home-manager.nixosModules.home-manager {
+ home-manager.extraSpecialArgs = { inherit inputs; };
+ home-manager.useGlobalPkgs = true;
+ home-manager.useUserPackages = true;
+ home-manager.users.vin = import ./home.nix;
+ }
+ ];
+ };
+
lappy = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = inputs;
modules = [
./hosts/lappy
+
home-manager.nixosModules.home-manager {
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.useGlobalPkgs = true;
diff --git a/home.nix b/home.nix
@@ -12,7 +12,6 @@
alacritty # doing st/suckless declaratively seems like it'll suck
dmenu
doas
- hsetroot
kicad
librewolf
mlocate
@@ -20,6 +19,7 @@
mupdf
neofetch
profanity
+ qutebrowser
rclone
redshift
st
@@ -37,31 +37,45 @@
];
sessionVariables = {
- #EDITOR = "vis";
+ EDITOR = "emacs";
+ VISUAL = "emacs -nw"
PAGER = "less";
LESS = "-iR";
LESSHISTFILE = "/dev/null";
- #BROWSER = "links -g";
+ BROWSER = "qutebrowser";
GOPROXY = "direct";
- AGE_KEY = "~/.ssh/id_ed25519";
- AGE_PUB = "~/.ssh/id_ed25519.pub";
+ AGE_KEY = "$HOME/.ssh/id_ed25519";
+ AGE_PUB = "$AGE_KEY.pub";
ANGOU_DIR = "/data/angou-age";
ANGOU_ENCRYPT = "age -R $AGE_PUB";
ANGOU_DECRYPT = "age -d -i $AGE_KEY";
ANGOU_EXT = "age";
ANGOU_CLIPBOARD = "xsel -ib";
+ # w3m is only used for aerc html preview
+ W3M_DIR = "/var/empty";
+
+ # backblaze on rclone
+ RCLONE_FAST_LIST = 1;
+
+ CRAWL_DIR = "$HOME/.local/share/crawl";
+
MOZ_ACCELERATED = 1;
MOZ_WEBRENDER = 1;
};
shellAliases = {
+ md = "mkdir -p";
+ ls = "ls -F --color=auto";
e = "$EDITOR";
- gc = "git";
- ls = "ls -F";
+ p = "$PAGER";
+ cbc = "xsel -cb; xsel -cp; xsel -cs";
+ gc = "git clone";
+ rsync = "rsync --no-inc-recursive";
mpv = "mpv --save-position-on-quit";
+ wget = "wget --no-hsts";
};
};
@@ -73,13 +87,13 @@
emoji = [];
monospace = [ "Comic Code" ];
sansSerif = [ "Cantarell" ];
- serif = [ "Open Baskerville 0.0.75" ];
+ serif = [ "CMU Serif" ];
};
};
gtk = {
enable = true;
- font.name = "monospace 10";
+ font.name = "monospace 11";
iconTheme.name = "rose-pine";
iconTheme.package = pkgs.rose-pine-icon-theme;
theme.name = "Everblush";
@@ -128,7 +142,7 @@
};
filters = {
"message/delivery-status" = "colorize";
- "message/rfc822" = "colorize";
+ "message/rfc822" = "colorize";
"text/calendar" = "calendar";
"text/html" = "html-unsafe | colorize";
@@ -136,8 +150,8 @@
};
openers = {
"application/pdf" = "mupdf";
- "text/html" = "librewolf";
- "text/plain" = "vis";
+ "text/html" = "qutebrowser";
+ "text/plain" = "emacs";
};
templates = {
"new-message" = "new_message";
@@ -147,8 +161,6 @@
};
stylesets = {
monochrome = ''
- # vim: ft=dosini
- #
# aerc monochrome styleset
#
@@ -234,28 +246,27 @@
];
};
- neovim = {
- enable = true;
- defaultEditor = true;
- extraConfig = ''
- " my sensible defaults.
- " I use mouse in terminal for primary select and paste, not what (n)vim wants
- " 8-wide hardtabs I prefer visually and doesn't feel cramped
- set background=dark
- set backupdir=/tmp/nvim
- set noexpandtab
- set nohlsearch
- set ignorecase
- set mouse=
- set relativenumber
- set shiftwidth=8
- set tabstop=8
-
- " stop annoying cursor movement on escape from insert
- " this seems to be default behaviour from vis
- inoremap <silent> <Esc> <C-O>:stopinsert<CR>
- '';
- };
+ mpv = {
+ bindings = {
+ # I wish there was a more elegant way of setting Anime4K
+
+ "Ctrl+1" = "no-osd change-list glsl-shaders set '~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl'; show-text 'Anime4K: Mode A (HQ)'";
+ "Ctrl+2" = "no-osd change-list glsl-shaders set '~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl'; show-text 'Anime4K: Mode B (HQ)'";
+ "Ctrl+3" = "no-osd change-list glsl-shaders set '~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl'; show-text 'Anime4K: Mode C (HQ)'";
+ "Ctrl+4" = "no-osd change-list glsl-shaders set '~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl'; show-text 'Anime4K: Mode A+A (HQ)'";
+ "Ctrl+5" = "no-osd change-list glsl-shaders set '~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl'; show-text 'Anime4K: Mode B+B (HQ)'";
+ "Ctrl+6" = "no-osd change-list glsl-shaders set '~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl'; show-text 'Anime4K: Mode C+A (HQ)'";
+
+ "Ctrl+0" = "no-osd change-list glsl-shaders clr ''; show-text 'GLSL shaders cleared'";
+ };
+
+ config = {
+ # sets default shaders to Anime4K Mode A (HQ). laptop's igpu doesn't like it though
+ glsl-shaders = "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl";
+
+ ytdl-format = "bestvideo[height<=?1440]+bestaudio/best";
+ };
+ };
yt-dlp = {
enable = true;