Compare commits

..

No commits in common. "a8f0e05f32d6fcda791b30fba4b1ef373f838fef" and "b42ede3a30e7ccb72da99ba39f1c81833775d576" have entirely different histories.

36 changed files with 286 additions and 352 deletions

View file

@ -3,17 +3,16 @@
"agenix": { "agenix": {
"inputs": { "inputs": {
"darwin": "darwin", "darwin": "darwin",
"home-manager": "home-manager",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1690228878, "lastModified": 1677126346,
"narHash": "sha256-9Xe7JV0krp4RJC9W9W9WutZVlw6BlHTFMiUP/k48LQY=", "narHash": "sha256-4s+PPGC1M07QsPyeye5drc2JLa1lhDnCV3XAsG8+pH4=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "d8c973fd228949736dedf61b7f8cc1ece3236792", "rev": "c2a71c83c70844c5e31db69347e86af080bcdad0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -78,11 +77,11 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1686747123, "lastModified": 1683779844,
"narHash": "sha256-XUQK9kwHpTeilHoad7L4LjMCCyY13Oq383CoFADecRE=", "narHash": "sha256-sIeOU0GsCeQEn5TpqE/jFRN4EGsPsjqVRsPdrzIDABM=",
"owner": "serokell", "owner": "serokell",
"repo": "deploy-rs", "repo": "deploy-rs",
"rev": "724463b5a94daa810abfc64a4f87faef4e00f984", "rev": "c80189917086e43d49eece2bd86f56813500a0eb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -130,11 +129,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1690739034, "lastModified": 1684783210,
"narHash": "sha256-roW02IaiQ3gnEEDMCDWL5YyN+C4nBf/te6vfL7rG0jk=", "narHash": "sha256-hxRbwwBTu1G1u1EdI9nEo/n4HIsQIfNi+2BQ1nEoj/o=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "4015740375676402a2ee6adebc3c30ea625b9a94", "rev": "f0b9f374bb42fdcd57baa7d4448ac5d4788226bd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -154,11 +153,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1690660426, "lastModified": 1672946489,
"narHash": "sha256-YUuH1BZ3G5dhHRZ1Z9XPXyorm8vV8G+jYbcdIGxOcOs=", "narHash": "sha256-IliWerC9qk4MxYNRoe/8uuQZkqjPJPsph46fmVBvo9U=",
"owner": "elkowar", "owner": "elkowar",
"repo": "eww", "repo": "eww",
"rev": "dc3129aee2806823bdad87785f7ef80651d5245c", "rev": "6a64a286291456984011c4fb160def106ee55dff",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -246,15 +245,12 @@
} }
}, },
"flake-utils_3": { "flake-utils_3": {
"inputs": {
"systems": "systems"
},
"locked": { "locked": {
"lastModified": 1685518550, "lastModified": 1676283394,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -264,15 +260,12 @@
} }
}, },
"flake-utils_4": { "flake-utils_4": {
"inputs": {
"systems": "systems_2"
},
"locked": { "locked": {
"lastModified": 1681202837, "lastModified": 1659877975,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401", "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -305,11 +298,11 @@
}, },
"hardware": { "hardware": {
"locked": { "locked": {
"lastModified": 1691179816, "lastModified": 1677232326,
"narHash": "sha256-WSMwqzU70ZMRHv1CUAfHEEKJuB0c9c9r0F+lJehXfSI=", "narHash": "sha256-rAk2/80kLvA3yIMmSV86T1B4kNvwCFMSQ1FxXndaUB0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "87e3122b67587492a617764f88c71991893fcf8a", "rev": "2d44015779cced4eec9df5b8dab238b9f6312cb2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -321,16 +314,16 @@
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"agenix",
"nixpkgs" "nixpkgs"
] ],
"utils": "utils_2"
}, },
"locked": { "locked": {
"lastModified": 1682203081, "lastModified": 1677104801,
"narHash": "sha256-kRL4ejWDhi0zph/FpebFYhzqlOBrk0Pl3dzGEKSAlEw=", "narHash": "sha256-2V5nKOYVFMYlseYdDKiEaww2xqcE0GtS1ax3SoUX99I=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "32d3e39c491e2f91152c84f8ad8b003420eab0a1", "rev": "4295fdfa6b0005c32f2e1f0b732faf5810c1bc7f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -339,27 +332,6 @@
"type": "github" "type": "github"
} }
}, },
"home-manager_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1687871164,
"narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-23.05",
"repo": "home-manager",
"type": "github"
}
},
"llamacpp": { "llamacpp": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_3",
@ -368,11 +340,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1691180171, "lastModified": 1681311976,
"narHash": "sha256-ZmSRPACkLlPWtKfux9o+FB0mXZbINowyb0057ouAL/0=", "narHash": "sha256-vxtBq4PeYkRWML6IJhbhDhdyBfaLSzCg1rNu2ozuPAk=",
"owner": "ggerganov", "owner": "ggerganov",
"repo": "llama.cpp", "repo": "llama.cpp",
"rev": "332311234a0aa2974b2450710e22e09d90dd6b0b", "rev": "e7f6997f897a18b6372a6460e25c5f89e1469f1d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -389,11 +361,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1683490239, "lastModified": 1663958238,
"narHash": "sha256-QKzpvl2XrqbobWq/I/smDa9hEniwctjJybXPVILHP0w=", "narHash": "sha256-l4VrBCswq500YwsgjK7M8HUmnVWrHYY7DKZ7uZK5Abg=",
"owner": "coffeetables", "owner": "coffeetables",
"repo": "nix-matrix-appservices", "repo": "nix-matrix-appservices",
"rev": "e795d2fbc61da45d49802bb3e8f8d0c70ddc1e68", "rev": "efdc09f26e3b01801edaa3b0e2bdd46d9d133bba",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -419,11 +391,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1691179816, "lastModified": 1677232326,
"narHash": "sha256-WSMwqzU70ZMRHv1CUAfHEEKJuB0c9c9r0F+lJehXfSI=", "narHash": "sha256-rAk2/80kLvA3yIMmSV86T1B4kNvwCFMSQ1FxXndaUB0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "87e3122b67587492a617764f88c71991893fcf8a", "rev": "2d44015779cced4eec9df5b8dab238b9f6312cb2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -451,27 +423,27 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1691155011, "lastModified": 1677075010,
"narHash": "sha256-O15tC0ysw+fcacEbOzrDrkVNIR+SgtArSGvpgsEqpvA=", "narHash": "sha256-X+UmR1AkdR//lPVcShmLy8p1n857IGf7y+cyCArp8bU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9652a97d9738d3e65cf33c0bc24429e495a7868f", "rev": "c95bf18beba4290af25c60cbaaceea1110d0f727",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-23.05", "ref": "nixos-22.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1691214006, "lastModified": 1677243766,
"narHash": "sha256-kdfBd+Y0DTOOdgSA6h6iIn403xVj4bzLnXqb7+yM6lQ=", "narHash": "sha256-a+2V68cLjb951pYBEGbQGEVBcgti40uWtxTVnzvGFhY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "963ad2d1bb0a8f59b2c23ab521d4dff2148aad16", "rev": "9bde3171aeb5954b7955fcb09b231f53caf76b54",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -487,19 +459,11 @@
] ]
}, },
"locked": { "locked": {
<<<<<<< HEAD
"lastModified": 1691215224,
"narHash": "sha256-sajUJsMFxIVUiDUxbRdukGy650lDLmUQG6FUOuzLs+A=",
"ref": "main",
"rev": "cb1c91802c74065cf9b8ecb35e14fb75d896bc39",
"revCount": 943,
=======
"lastModified": 1691809207, "lastModified": 1691809207,
"narHash": "sha256-Ml3w6o96E66OgEv5+z6OCtLLAQylvcOTX2t/D+jPSFs=", "narHash": "sha256-Ml3w6o96E66OgEv5+z6OCtLLAQylvcOTX2t/D+jPSFs=",
"ref": "main", "ref": "main",
"rev": "31089236697319f4be5c50e16add3154235c7c3c", "rev": "31089236697319f4be5c50e16add3154235c7c3c",
"revCount": 963, "revCount": 963,
>>>>>>> b42ede3a30e7ccb72da99ba39f1c81833775d576
"type": "git", "type": "git",
"url": "ssh://gitea@git.sealight.xyz/aynish/kitaab" "url": "ssh://gitea@git.sealight.xyz/aynish/kitaab"
}, },
@ -518,7 +482,7 @@
"eww": "eww", "eww": "eww",
"grasp": "grasp", "grasp": "grasp",
"hardware": "hardware", "hardware": "hardware",
"home-manager": "home-manager_2", "home-manager": "home-manager",
"llamacpp": "llamacpp", "llamacpp": "llamacpp",
"nix-matrix-appservices": "nix-matrix-appservices", "nix-matrix-appservices": "nix-matrix-appservices",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
@ -539,11 +503,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1691201768, "lastModified": 1677205778,
"narHash": "sha256-h+QJMpawZoK1+8efF6UjQoY1EHZfHteXVa5OYnlqRWA=", "narHash": "sha256-DFe09uzS+8LjGBAAyHkB/5Axs0j/PQ8RLWFzm2FUZLA=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "18ee2a71de24273e4ad4503b5604532f0b53f382", "rev": "b91706f9d5a68fecf97b63753da8e9670dff782b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -569,36 +533,6 @@
"type": "github" "type": "github"
} }
}, },
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tidal-src": { "tidal-src": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -624,7 +558,7 @@
], ],
"superdirt-src": "superdirt-src", "superdirt-src": "superdirt-src",
"tidal-src": "tidal-src", "tidal-src": "tidal-src",
"utils": "utils_2", "utils": "utils_3",
"vim-tidal-src": "vim-tidal-src", "vim-tidal-src": "vim-tidal-src",
"vowel-src": "vowel-src" "vowel-src": "vowel-src"
}, },
@ -644,11 +578,11 @@
}, },
"unstable": { "unstable": {
"locked": { "locked": {
"lastModified": 1691186842, "lastModified": 1682268651,
"narHash": "sha256-wxBVCvZUwq+XS4N4t9NqsHV4E64cPVqQ2fdDISpjcw0=", "narHash": "sha256-2eZriMhnD24Pmb8ideZWZDiXaAVe6LzJrHQiNPck+Lk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "18036c0be90f4e308ae3ebcab0e14aae0336fe42", "rev": "e78d25df6f1036b3fa76750ed4603dd9d5fe90fc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -674,6 +608,21 @@
} }
}, },
"utils_2": { "utils_2": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"utils_3": {
"locked": { "locked": {
"lastModified": 1653893745, "lastModified": 1653893745,
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",

View file

@ -3,12 +3,12 @@
inputs = { inputs = {
# Nixpkgs # Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; nixpkgs.url = "github:nixos/nixpkgs/nixos-22.11";
unstable.url = "github:nixos/nixpkgs/nixos-unstable"; unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master";
# Home manager # Home manager
home-manager.url = "github:nix-community/home-manager/release-23.05"; home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
hardware.url = "github:nixos/nixos-hardware"; hardware.url = "github:nixos/nixos-hardware";
@ -233,9 +233,10 @@
agenix.nixosModules.age agenix.nixosModules.age
self.nixosModules.backup self.nixosModules.backup
self.nixosModules.wireguard self.nixosModules.wireguard
self.nixosModules.gonic
self.nixosModules.wallabag self.nixosModules.wallabag
self.nixosModules.gonic
self.nixosModules.ulogger-server self.nixosModules.ulogger-server
self.nixosModules.photoprism
grasp.nixosModule grasp.nixosModule
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {

View file

@ -211,6 +211,8 @@
"...." = "cd ../../.."; "...." = "cd ../../..";
"....." = "cd ../../../.."; "....." = "cd ../../../..";
# kitaab recents
kr = "cd /home/anish/kitaab/vimwiki; exa --sort=modified --reverse | fzf --preview 'bat --style=numbers --color=always --terminal-width -1 ./{}'";
icat = "kitty +kitten icat"; icat = "kitty +kitten icat";
yt = "ytfzf -T kitty -t "; yt = "ytfzf -T kitty -t ";
gen-secret = "< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c\${1:-32};echo;"; gen-secret = "< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c\${1:-32};echo;";
@ -230,21 +232,18 @@
# task warrior # task warrior
# TODO: make blocked a context? # TODO: make blocked a context?
t = "task -BLOCKED -idea -backlog"; # Adding these to the next task makes modify things hard t = "task -BLOCKED";
tt = "taskwarrior-tui -r list"; tin = "task in";
ti = "task +idea"; tun = "task -BLOCKED -wait";
tb = "task list +backlog"; tb = "task list +backlog";
ttb = "taskwarrior-tui -r backlog";
tr = "task newest limit:page"; tr = "task newest limit:page";
tw = "task +wait"; tu = "task unblocked -wait";
tl = "task list";
ta = "task add"; ta = "task add";
tai = "task add +idea"; tai = "task add +in";
tn = "task-note"; tn = "task-note";
tp = "task limit:page";
ts = "task sync"; ts = "task sync";
# taskwarrior task lists
twt = "task tags +PENDING | tail -n +4 | cut -d ' ' -f1 | fzf --preview 'task +{}'";
# task warrior projects list
tp = "task projects +PENDING | tail -n +4 | head -n -2 | cut -d ' ' -f1 | fzf --preview 'task pro:{}'";
# keeping for posterity but now sxhkbd handles screenshot with <Super+O> # keeping for posterity but now sxhkbd handles screenshot with <Super+O>
# scrot = "flameshot screen -c -p ~/screenshots/"; # scrot = "flameshot screen -c -p ~/screenshots/";

View file

@ -1,15 +0,0 @@
#!/usr/bin/env bash
# get into a shell that has poonam
cd ~/kitaab || exit;
nix develop;
# Use fzf to select a file and capture the output
selected_file=$(${pkgs.poonam}/main report --titles=false | head -n -2 | fzf --preview 'bat --color=always --terminal-width -1 ./vimwiki/{}')
echo $selected_file
# Add additional details to the file path
# file_path="./vimwiki/${selected_file}"
#
# # Open the file in vim for editing
# vim "${file_path}"
#

View file

@ -33,76 +33,6 @@ in
termpdfpy termpdfpy
]; ];
# GTK4 color scheme?
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
# Move required config files around
xdg.enable = true; # This doesn't seem to do anything so we have below
xdg.configHome = "/home/anish/.config"; # TODO bad hardcode
xdg.configFile = {
"Kvantum/Dracula/Dracula.kvconfig".source = "${dracula-gtk}/kde/kvantum/Dracula-purple-solid/Dracula-purple-solid.kvconfig";
"Kvantum/Dracula/Dracula.svg".source = "${dracula-gtk}/kde/kvantum/Dracula-purple-solid/Dracula-purple-solid.svg";
"Kvantum/kvantum.kvconfig".text = "[General]\ntheme=Dracula";
};
home.file = {
".config/bspwm/rc.d/polybar".source = ./run.sh;
".config/bspwm/bspwmrc".source = ./bspwmrc;
".config/sxhkdrc".source = ./sxhkdrc;
".config/rofi/theme" = {
source = ./rofi;
recursive = true;
};
".config/polybar" = {
source = ./polybar;
recursive = true;
};
".config/dunst/dunstrc".source = ./dunstrc;
".config/kitty/kitty.conf".source = ./kitty.conf;
".config/kitty/ayu.conf".source = ./ayu-kitty.conf;
".config/zathura/zathurarc".source = ./zathurarc;
".background-image".source = ./background.jpg;
#gtk4 theme
".config/gtk-4.0/settings.ini".text = ''
[Settings]
gtk-application-prefer-dark-theme=1
'';
# gtk3 theme
".config/gtk-3.0/settings.ini".text = ''
[Settings]
gtk-theme-name=Dracula
gtk-icon-theme-name=Paper
gtk-cursor-theme-name=Capitaine Cursors - White
gtk-fallback-icon-theme=gnome
gtk-application-prefer-dark-theme=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=none
'';
# GTK2 global theme (widget and icon theme)
".config/gtk-2.0/gtkrc".text = ''
gtk-theme-name=Ayu-Mirage
gtk-icon-theme-name=Capitaine Cursors - White
gtk-font-name="Sans 10"
'';
".local/bin/passmenu".source = ./bin/passmenu;
".local/bin/paste".source = ./bin/paste;
".local/bin/bluetoothmenu".source = ./bin/bluetoothmenu;
".local/bin/wifimenu".source = ./bin/wifimenu;
".local/bin/powermenu".source = ./bin/powermenu;
".local/bin/screenshot".source = ./bin/screenshot;
".local/bin/mpv-ify".source = ./bin/mpv-ify;
".local/bin/bspswallow".source = ./bin/bspswallow;
".config/bspwm/terminals".text = "Kitty";
".config/eww/eww.yuck".source = ./eww/eww.yuck;
".config/eww/eww.scss".source = ./eww/eww.scss;
".config/eww/widgets.yuck".source = ./eww/widgets.yuck;
# ".local/bin/hotplug-monitor.sh".source = ./bin/hotplug-monitor.sh;
};
xdg.desktopEntries = { xdg.desktopEntries = {
ocr = { ocr = {
name = "OCR image"; name = "OCR image";
@ -118,13 +48,6 @@ in
}; };
}; };
qt = {
enable = true;
platformTheme = "gtk";
style = { name = "qt5ct-style"; };
};
# set up env # set up env
xsession.enable = true; xsession.enable = true;
@ -160,10 +83,70 @@ in
"*.colorBD" = "#e6e1cf"; "*.colorBD" = "#e6e1cf";
}; };
programs.autorandr.enable = true; # Move required config files around
services.udiskie.automount = true; xdg.enable = true; # This doesn't seem to do anything so we have below
xdg.configHome = "/home/anish/.config"; # TODO bad hardcode
xdg.configFile = {
"Kvantum/Dracula/Dracula.kvconfig".source = "${dracula-gtk}/kde/kvantum/Dracula-purple-solid/Dracula-purple-solid.kvconfig";
"Kvantum/Dracula/Dracula.svg".source = "${dracula-gtk}/kde/kvantum/Dracula-purple-solid/Dracula-purple-solid.svg";
"Kvantum/kvantum.kvconfig".text = "[General]\ntheme=Dracula";
};
home.file = {
".config/bspwm/rc.d/polybar".source = ./run.sh;
".config/bspwm/bspwmrc".source = ./bspwmrc;
".config/sxhkdrc".source = ./sxhkdrc;
".config/rofi/theme" = {
source = ./rofi;
recursive = true;
};
".config/polybar" = {
source = ./polybar;
recursive = true;
};
".config/dunst/dunstrc".source = ./dunstrc;
".config/kitty/kitty.conf".source = ./kitty.conf;
".config/kitty/ayu.conf".source = ./ayu-kitty.conf;
".config/zathura/zathurarc".source = ./zathurarc;
".background-image".source = ./background.jpg;
# gtk3 theme
".config/gtk-3.0/settings.ini".text = ''
[Settings]
gtk-theme-name=Dracula
gtk-icon-theme-name=Paper
gtk-cursor-theme-name=Capitaine Cursors - White
gtk-fallback-icon-theme=gnome
gtk-application-prefer-dark-theme=true
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=none
'';
# GTK2 global theme (widget and icon theme)
".config/gtk-2.0/gtkrc".text = ''
gtk-theme-name=Ayu-Mirage
gtk-icon-theme-name=Capitaine Cursors - White
gtk-font-name="Sans 10"
'';
# TODO hardcoded
".local/bin/passmenu".source = ./bin/passmenu;
".local/bin/paste".source = ./bin/paste;
".local/bin/bluetoothmenu".source = ./bin/bluetoothmenu;
".local/bin/wifimenu".source = ./bin/wifimenu;
".local/bin/powermenu".source = ./bin/powermenu;
".local/bin/screenshot".source = ./bin/screenshot;
".local/bin/mpv-ify".source = ./bin/mpv-ify;
".local/bin/bspswallow".source = ./bin/bspswallow;
".config/bspwm/terminals".text = "Kitty";
".config/eww/eww.yuck".source = ./eww/eww.yuck;
".config/eww/eww.scss".source = ./eww/eww.scss;
".config/eww/widgets.yuck".source = ./eww/widgets.yuck;
# ".local/bin/hotplug-monitor.sh".source = ./bin/hotplug-monitor.sh;
};
services.mpris-proxy.enable = true; # bluetooth media control qt = {
enable = true;
platformTheme = "gtk";
style = { name = "qt5ct-style"; };
};
# Compositor # Compositor
# services.picom = { # services.picom = {
@ -186,4 +169,9 @@ in
# corner-radius = 3 # corner-radius = 3
# ''; # '';
# }; # };
programs.autorandr.enable = true;
services.udiskie.automount = true;
services.mpris-proxy.enable = true; # bluetooth media control
} }

View file

@ -1,13 +1,12 @@
include ayu.conf include ayu.conf
font_family Hermit font_family Hermit
font_size 13
bold_font auto bold_font auto
italic_font auto italic_font auto
bold_italic_font auto bold_italic_font auto
open_url_with default open_url_with default
mouse_map left click ungrabbed mouse_click_url_or_select mouse_map left click ungrabbed mouse_click_url_or_select
confirm_os_window_close 0 confirm_os_window_close 0
enable_audio_bell no enable_bell_audio no
-- Allows zen-mode.nvim to increase font size -- Allows zen-mode.nvim to increase font size
-- allow_remote_control socket-only -- allow_remote_control socket-only
-- listen_on unix:/tmp/kitty -- listen_on unix:/tmp/kitty

View file

@ -34,6 +34,9 @@ fixed-center = true
width = 100% width = 100%
height = 34 height = 34
offset-x =
offset-y =
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023) ; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
background = ${colors.bg} background = ${colors.bg}
@ -46,7 +49,7 @@ line-color = #fff
; Number of spaces to add at the beginning/end of the bar ; Number of spaces to add at the beginning/end of the bar
; Individual side values can be defined using: ; Individual side values can be defined using:
; padding-{left,right} ; padding-{left,right}
padding-right = 1 padding-right = 1
padding-left = 0 padding-left = 0
; Number of spaces to add before/after each module ; Number of spaces to add before/after each module
@ -55,14 +58,14 @@ padding-left = 0
module-margin = 0 module-margin = 0
margin-bottom = 34 margin-bottom = 34
font-0 = "Iosevka Nerd Font,Iosevka NF:pixelsize=12;4" font-0 = "Iosevka Term:pixelsize=13;4"
font-1 = "Iosevka Nerd Font,Iosevka NF:pixelsize=6;1" font-1 = "Iosevka Term:pixelsize=6;1"
font-2 = "FiraCode Nerd Font:pixelsize=12;2" font-2 = "Fira Code:pixelsize=13;2"
font-3 = "Siji:pixelsize=8;2" font-3 = "Siji:pixelsize=8;2"
; Add module mpd for artist - title info ; Add module mpd for artist - title info
modules-left = bspwm sps volume modules-left = bspwm sps volume
; modules-center = title modules-center = title
modules-right = wireless-network sps battery sps memory sps cpu sps date modules-right = wireless-network sps battery sps memory sps cpu sps date
; The separator will be inserted between the output of each module ; The separator will be inserted between the output of each module
@ -113,11 +116,11 @@ type = internal/bspwm
pin-workspaces = true pin-workspaces = true
enable-click = true enable-click = true
ws-icon-0 = 1;%{T1} %{T-} ws-icon-0 = 1;%{T1}%{T-}
ws-icon-1 = 2;%{T1} %{T-} ws-icon-1 = 2;%{T1}%{T-}
ws-icon-2 = 3;%{T1}󰵅 %{T-} ws-icon-2 = 3;%{T1}%{T-}
ws-icon-3 = 4;%{T1} %{T-} ws-icon-3 = 4;%{T1}%{T-}
ws-icon-4 = 5;%{T1} %{T-} ws-icon-4 = 5;%{T1}%{T-}
ws-icon-default =  ws-icon-default = 
; fuzzy-match = true ; fuzzy-match = true
@ -154,14 +157,14 @@ interval = 1.0
; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string ; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string
; NOTE: if you want to use syntax tags here you need to use %%{...} ; NOTE: if you want to use syntax tags here you need to use %%{...}
date = %{T1}%{T-}%{T2} %d/%a%{T-} date = %{T1}%{T-}%{T2} %d/%a%{T-}
; Optional time format ; Optional time format
time = %{T2} %H:%M%{T-} time = %{T2} %H:%M%{T-}
; if `date-alt` or `time-alt` is defined, clicking ; if `date-alt` or `time-alt` is defined, clicking
; the module will toggle between formats ; the module will toggle between formats
date-alt = %{T1} %{T-} %{T2} %a, %d %b %y%{T-} date-alt = %{T1}%{T-}%{T2} %a, %d %b %y%{T-}
time-alt = %{T2} %H:%M:%S%{T-} time-alt = %{T2} %H:%M:%S%{T-}
label = %date%%time% label = %date%%time%
@ -174,11 +177,11 @@ interface = wlp3s0
label-connected = %essid% label-connected = %essid%
label-connected-font = 2 label-connected-font = 2
format-connected = <ramp-signal> <label-connected> format-connected = <ramp-signal><label-connected>
label-connected-foreground = #82b414 label-connected-foreground = #82b414
format-disconnected = <label-disconnected> format-disconnected = <label-disconnected>
label-disconnected = "󰖪" label-disconnected = ""
label-disconnected-foreground = #f92672 label-disconnected-foreground = #f92672
ramp-signal-foreground = #82b414 ramp-signal-foreground = #82b414
@ -196,7 +199,7 @@ type = internal/cpu
; Default: 1 ; Default: 1
interval = 0.5 interval = 0.5
label = %{T1} %{T-}%{T2} %percentage:2%%%{T-} label = %{T1}%{T-}%{T2} %percentage:2%%%{T-}
label-foreground = ${colors.cyan} label-foreground = ${colors.cyan}
@ -226,7 +229,7 @@ format = <label>
; %gb_swap_free% ; %gb_swap_free%
; %gb_swap_used% ; %gb_swap_used%
label = %{T1}󰍛 %{T-}%{T2} %gb_used%%{T-} label = %{T1}%{T-}%{T2} %gb_used%%{T-}
label-foreground = ${colors.cyan} label-foreground = ${colors.cyan}
@ -274,6 +277,38 @@ type = custom/text
content = " " content = " "
content-padding = 0 content-padding = 0
[module/network]
type = internal/network
interface = wlp3s0
;enp0s29u1u2
interval = 1.0
label-connected = "%{T1}龍%{T-}%{T2} %downspeed% | %upspeed%%{T-}"
label-disconnected = "%{T2}0/0%{T-}"
label-connected-background = ${colors.bg}
label-connected-foreground = ${colors.blue}
label-disconnected-foreground = ${colors.red}
[module/title]
type = internal/xwindow
; Available tags:
; <label> (default)
format = <label>
format-background = ${colors.bg}
format-foreground = ${colors.green}
format-padding = 4
; Available tokens:
; %title%
; Default: %title%
label = "%{T1}类%{T-}%{T2} %title%%{T-}"
label-maxlen = 65
; Used instead of label when there is no window title
; Available tokens:
; None
label-empty =%{T2}Empty%{T-}
label-empty-foreground = #707880
[module/volume] [module/volume]
type = internal/pulseaudio type = internal/pulseaudio
@ -281,7 +316,7 @@ use-ui-max = false
interval = 5 interval = 5
format-volume = <ramp-volume> <bar-volume> format-volume = <ramp-volume><bar-volume>
format-muted = <label-muted> format-muted = <label-muted>
format-muted-prefix = "  " format-muted-prefix = "  "
@ -335,10 +370,10 @@ battery = BAT0
poll-interval = 2 poll-interval = 2
time-format = %H:%M time-format = %H:%M
format-charging = <animation-charging> <label-charging> format-charging = <animation-charging><label-charging>
format-charging-prefix = format-charging-prefix =
format-discharging = <ramp-capacity> <label-discharging> format-discharging = <ramp-capacity><label-discharging>
format-full = <label-full> format-full = <label-full>
format-full-prefix = " " format-full-prefix = " "
@ -374,4 +409,3 @@ animation-charging-foreground = ${colors.sky}
animation-charging-framerate = 750 animation-charging-framerate = 750
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

View file

@ -43,10 +43,7 @@
meta = { }; meta = { };
}) })
]; ];
settings = { settings = {
"browser.zoom.siteSpecific" = false;
"zoom.minPercent" = "150"; # TODO doesn't seem to work anymore, you have to manually go into preferences and set the zoom level.
"devtools.theme" = "dark"; "devtools.theme" = "dark";
# Enable userContent.css and userChrome.css for our theme modules # Enable userContent.css and userChrome.css for our theme modules
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
@ -54,7 +51,6 @@
"browser.download.dir" = "/home/anish/downloads"; # TODO Don't hardcode this! "browser.download.dir" = "/home/anish/downloads"; # TODO Don't hardcode this!
# Don't use the built-in password manager; a nixos user is more likely # Don't use the built-in password manager; a nixos user is more likely
# using an external one (you are using one, right?). # using an external one (you are using one, right?).
# I am, but it's far too convienent. I'm enabling 2FA anyway so w/e
#"signon.rememberSignons" = false; #"signon.rememberSignons" = false;
# Do not check if Firefox is the default browser # Do not check if Firefox is the default browser
"browser.shell.checkDefaultBrowser" = false; "browser.shell.checkDefaultBrowser" = false;

View file

@ -145,14 +145,7 @@ in
home.sessionVariables.EDITOR = "nvim"; home.sessionVariables.EDITOR = "nvim";
home.shellAliases = { home.shellAliases = {
k = "cd ~/kitaab/vimwiki; vim -c :VimwikiIndex; cd $OLDPWD"; k = "cd ~/kitaab/vimwiki; vim -c :VimwikiIndex; cd $OLDPWD";
# kitaab zettel
kz = "cd ~/kitaab/vimwiki; vim -c :VimwikiIndex -c :ZettelNew; cd $OLDPWD"; kz = "cd ~/kitaab/vimwiki; vim -c :VimwikiIndex -c :ZettelNew; cd $OLDPWD";
# kitaab recents
kr = "cd /home/anish/kitaab/vimwiki; exa --sort=modified --reverse | fzf --preview 'bat --style=numbers --color=always --terminal-width -1 ./{}';cd $OLDPWD";
# kitaab get by tagged
kt = "cd /home/anish/kitaab/vimwiki; exa *_index.wiki | fzf --preview 'bat --style=numbers --color=always --terminal-width -1 ./{}';cd $OLDPWD";
# List files that have no links in them
ku = "cd /home/anish/kitaab/;vim ./vimwiki/$(python3 poonam/main.py report --titles=false | tail -n +4 | fzf --preview 'bat --style=numbers --color=always --terminal-width -1 ./vimwiki/{}');cd $OLDPWD";
}; };
# Add %update to the highlight clause for vimwiki files # Add %update to the highlight clause for vimwiki files
home.file.".config/nvim/after/syntax/vimwiki.vim".text = '' home.file.".config/nvim/after/syntax/vimwiki.vim".text = ''
@ -690,7 +683,7 @@ in
-- treesitter -- treesitter
require('nvim-treesitter.configs').setup { require('nvim-treesitter.configs').setup {
-- parser_install_dir = "~/.local/share/nvim/site/parser/", -- parser_install_dir = "~/.local/share/nvim/site/parser/",
-- ensure_installed={'nix', 'clojure', 'python', 'fennel', 'lua', 'html', 'css', 'regex', 'supercollider', 'beancount', 'janet'}, -- ensure_installed={'nix', 'clojure', 'python', 'fennel', 'lua', 'html', 'css', 'regex', 'supercollider', 'beancount'},
highlight = { enabled = true, additional_vim_regex_highting = true, }, highlight = { enabled = true, additional_vim_regex_highting = true, },
textobjects = { enabled = true }, textobjects = { enabled = true },
} }
@ -853,7 +846,7 @@ in
-- hologram -- hologram
require('hologram').setup{ require('hologram').setup{
auto_display = false -- WIP automatic markdown image display, may be prone to breaking auto_display = true -- WIP automatic markdown image display, may be prone to breaking
} }
EOF EOF

View file

@ -1,9 +0,0 @@
{
"console.log": {
"prefix": "clog",
"body": [
"console.log('$1')"
],
"description": "Log output to console"
}
}

View file

@ -4,13 +4,11 @@ let
name = "kitaab-sync"; name = "kitaab-sync";
# Note this will fail if index.wiki is open in vim while this runs # Note this will fail if index.wiki is open in vim while this runs
mkStartScript = name: pkgs.writeShellScript "${name}.sh" '' mkStartScript = name: pkgs.writeShellScript "${name}.sh" ''
# set -euo pipefail # Sometimes vimwiki is open and that causes `vimwiki tags rebuild` to fail, we still want to push to git in those cases set -euo pipefail
PATH=/run/current-system/sw/bin:/etc/profiles/per-user/anish/bin: PATH=/run/current-system/sw/bin:/etc/profiles/per-user/anish/bin:
cd /home/anish/kitaab cd /home/anish/kitaab
vimwiki tags rebuild vimwiki tags rebuild
python3 poonam/main.py generateindexs git add -A
python3 poonam/main.py generatebacklinks
git add -A ./vimwiki/
git diff-index --quiet HEAD || git commit -m 'syncing kitaab' # if nothing, don't exit 1 git diff-index --quiet HEAD || git commit -m 'syncing kitaab' # if nothing, don't exit 1
git push git push
exit 0 exit 0

View file

@ -1,3 +0,0 @@
#!/usr/bin/env bash
task rc.bulk=0 rc.confirmation=off rc.dependency.confirmation=off rc.recurrence.confirmation=off "$@" modify -idea +backlog

View file

@ -1,3 +0,0 @@
#!/usr/bin/env bash
task rc.bulk=0 rc.confirmation=off rc.dependency.confirmation=off rc.recurrence.confirmation=off "$@" modify -idea -backlog

View file

@ -1,3 +0,0 @@
#!/usr/bin/env bash
task rc.bulk=0 rc.confirmation=off rc.dependency.confirmation=off rc.recurrence.confirmation=off "$@" modify +idea -backlog

View file

@ -34,7 +34,7 @@ def write_note(task_id: int):
if not os.path.exists(notes_file): if not os.path.exists(notes_file):
logging.info("Adding description to empty notes file") logging.info("Adding description to empty notes file")
task_description = os.popen(f"task _get {task_id}.description").read() task_description = os.popen(f"task _get {task_id}.description").read()
task_project = os.popen(f"task _get {task_id}.project").read().strip("\n").replace(".", ":") task_project = os.popen(f"task _get {task_id}.project").read().strip("\n")
task_tags = os.popen(f"task _get {task_id}.tags").read().split(",") task_tags = os.popen(f"task _get {task_id}.tags").read().split(",")
if len(task_tags): if len(task_tags):
task_tags = ":".join(task_tags).strip("\n") + ":" task_tags = ":".join(task_tags).strip("\n") + ":"

View file

@ -1,19 +1,11 @@
{ pkgs, config, lib, ... }: { pkgs, config, lib, ... }:
{ {
# If you're setting up taskwarrior again, there's a task-setup.sh script in seafile
home.file = { home.file = {
# Because the below is inconsistent, I turn it off once I have a copy in place.
".taskrc".enable = true;
# WARN ugly hack
# taskwarrior needs write access to this file for centexts
# this way, we get a copy of the file, and we make sure it's writable
".taskrc".source = ./taskrc; ".taskrc".source = ./taskrc;
".taskrc".executable = true; ".local/bin/task-note".source = ./bin/task-note.py;
".taskrc".onChange = "cp ~/.taskrc ~/.taskrc2;rm ~/.taskrc;mv ~/.taskrc2 ~/.taskrc;chmod +w ~/.taskrc";
".task/keys/ca.cert".source = ./ca.cert; ".task/keys/ca.cert".source = ./ca.cert;
".task/keys/public.cert".source = ./public.cert; ".task/keys/public.cert".source = ./public.cert;
".local/bin/task-note".source = ./bin/task-note.py;
".local/bin/set-idea".source = ./bin/set-idea.sh;
}; };
} }

View file

@ -42,11 +42,12 @@ news.version=2.6.0
## Contexts ## Contexts
context.poor.read=-purchase context.poor.read=-purchase
context.dev.read=+dev or +ops -work context.dev.read=+dev
context.home.read=-work context.ops.read=+ops
context.work.read=+work context.bucket.read=+in
context.work.write=+work context.focused=(priority:H or priority:M) -idea -backlog -finances urgency > 5.0
context.bucket.read=+idea # context.work=+Work -idea -personal
# context.offwork=-Work
## Reports ## Reports
@ -58,29 +59,17 @@ report.list.labels=ID,P,Project,Tags,R,Sch,Due,Until,Description
report.in.columns=id,project,tags,description report.in.columns=id,project,tags,description
report.in.labels=ID,Proj,Tags,Description report.in.labels=ID,Proj,Tags,Description
report.in.description=Inbox report.in.description=Inbox
report.in.filter=status:pending limit:page (+idea) report.in.filter=status:pending limit:page (+in)
# Backlog
report.backlog.columns=id,priority,project,tags,recur.indicator,scheduled.countdown,due,until.remaining,description.count
report.backlog.labels=ID,P,Project,Tags,R,Sch,Due,Until,Description
report.backlog.description=backlog
report.backlog.filter=status:pending limit:page (+backlog)
report.backlog.sort=start-,due+,project+/,urgency-
# Unblocked # Unblocked
report.unblocked.labels=ID,Deps,Proj,Tags,Due,Active,Description report.unblocked.labels=ID,Deps,Proj,Tags,Due,Active,Description
report.unblocked.columns=id,depends,project,tags,due,start.active,description report.unblocked.columns=id,depends,project,tags,due,start.active,description
# Next # Next
report.next.filter=(status:pending -idea -backlog limit:0) # pro.not:ideas report.next.filter=(status:pending -in -backlog pro.not:ideas limit:0)
report.next.labels=ID,Active,Deps,P,Project,Tag,Recur,S,Due,Until,Description report.next.labels=ID,Active,Deps,P,Project,Tag,Recur,S,Due,Until,Description
report.next.columns=id,start.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description report.next.columns=id,start.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description
# Everything, including inbox
report.every.filter=(status:pending limit:0)
report.every.labels=ID,Active,Deps,P,Project,Tag,Recur,S,Due,Until,Description
report.every.columns=id,start.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description
# Urgency # Urgency
urgency.user.project.wait.coefficient=-10.0 urgency.user.project.wait.coefficient=-10.0
urgency.user.project.craft.coefficient=1.9 urgency.user.project.craft.coefficient=1.9
@ -89,11 +78,6 @@ urgency.user.tag.think.coefficient=-7.0
urgency.user.tag.purchase.coefficient=-1.2 urgency.user.tag.purchase.coefficient=-1.2
urgency.user.project.curve.glam.coefficient=-1.3 urgency.user.project.curve.glam.coefficient=-1.3
# UDAs
uda.taskwarrior-tui.shortcuts.1=~/.local/bin/task/set-focus.sh
uda.taskwarrior-tui.shortcuts.2=~/.local/bin/task/set-backlog.sh
uda.taskwarrior-tui.shortcuts.3=~/.local/bin/task/set-idea.sh
# Colors # Colors
color.project.chores=blue color.project.chores=blue
color.tag.dev=cyan color.tag.dev=cyan

View file

@ -20,6 +20,7 @@
boot.loader.grub = { boot.loader.grub = {
enable = true; enable = true;
device = "nodev"; device = "nodev";
version = 2;
efiSupport = true; efiSupport = true;
enableCryptodisk = true; enableCryptodisk = true;
efiInstallAsRemovable = true; efiInstallAsRemovable = true;
@ -85,6 +86,9 @@
networking.useDHCP = false; networking.useDHCP = false;
networking.interfaces.wlp3s0.useDHCP = true; networking.interfaces.wlp3s0.useDHCP = true;
# Set your time zone.
time.timeZone = "Australia/Brisbane";
# Enable the OpenSSH daemon. # Enable the OpenSSH daemon.
services.openssh.enable = true; services.openssh.enable = true;
networking.firewall.allowedTCPPorts = [ 22 ]; networking.firewall.allowedTCPPorts = [ 22 ];

View file

@ -8,9 +8,11 @@
]; ];
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only
networking.hostName = "cube"; # Define your hostname. networking.hostName = "cube"; # Define your hostname.
time.timeZone = "Australia/Brisbane";
networking.useDHCP = false; networking.useDHCP = false;
networking.interfaces.ens3.useDHCP = true; networking.interfaces.ens3.useDHCP = true;

View file

@ -1,6 +1,7 @@
{ {
imports = [ ./hardware-configuration.nix ]; imports = [ ./hardware-configuration.nix ];
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
# Define on which hard drive you want to install Grub. # Define on which hard drive you want to install Grub.
boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
@ -27,6 +28,8 @@
networking.hostName = "curve"; networking.hostName = "curve";
#networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. #networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
time.timeZone = "Australia/Brisbane";
# Select internationalisation properties. # Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
# console = { # console = {

View file

@ -16,8 +16,7 @@
# ../profiles/mount-mossnet # ../profiles/mount-mossnet
]; ];
# import profiling tools # home-manager.users.anish = import ../../home/gui;
programs.systemtap.enable = true;
# Speed up boot by removing dependency on network # Speed up boot by removing dependency on network
systemd = { systemd = {

View file

@ -8,6 +8,7 @@
# Use the GRUB 2 boot loader. # Use the GRUB 2 boot loader.
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only
networking.hostName = "helix"; # Define your hostname. networking.hostName = "helix"; # Define your hostname.
@ -21,6 +22,8 @@
# Enable the OpenSSH daemon. # Enable the OpenSSH daemon.
services.openssh.enable = true; services.openssh.enable = true;
services.openssh.passwordAuthentication = false;
services.openssh.permitRootLogin = "no";
sound.enable = false; sound.enable = false;
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.

View file

@ -8,6 +8,7 @@
# Use the GRUB 2 boot loader. # Use the GRUB 2 boot loader.
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only
networking.hostName = "lituus"; # Define your hostname. networking.hostName = "lituus"; # Define your hostname.

View file

@ -42,8 +42,6 @@ in
openFirewall = lib.mkDefault false; openFirewall = lib.mkDefault false;
}; };
time.timeZone = "Canada/Pacific";
# programs.gnupg.agent.enable = true; # programs.gnupg.agent.enable = true;
# programs.gnupg.agent.pinentryFlavor = "curses"; # programs.gnupg.agent.pinentryFlavor = "curses";

View file

@ -44,7 +44,6 @@ in
packages = [ pkgs.dconf ]; packages = [ pkgs.dconf ];
}; };
}; };
programs.dconf.enable = true;
security.pam.services.Default.enableGnomeKeyring = true; security.pam.services.Default.enableGnomeKeyring = true;
security.pam.services.Login.enableGnomeKeyring = true; security.pam.services.Login.enableGnomeKeyring = true;
@ -64,7 +63,7 @@ in
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
unstable.sublime-music unstable.sublime-music
unstable.nheko unstable.nheko
unstable.tuba unstable.tootle
unstable.newsflash unstable.newsflash
unstable.liferea unstable.liferea

View file

@ -6,18 +6,16 @@
services.gitea = { services.gitea = {
enable = true; enable = true;
package = pkgs.forgejo; package = pkgs.unstable.forgejo;
appName = "Sealight Git Forge"; appName = "Sealight Git Forge";
domain = "git.sealight.xyz";
rootUrl = "https://git.sealight.xyz";
httpPort = 3001;
database = { database = {
type = "postgres"; type = "postgres";
passwordFile = "/run/agenix/gitea-dbpass"; passwordFile = "/run/agenix/gitea-dbpass";
}; };
settings = { settings = {
server = {
DOMAIN = "git.sealight.xyz";
ROOT_URL = "https://git.sealight.xyz";
HTTP_PORT = 3001;
};
metrics = { metrics = {
ENABLED = true; ENABLED = true;
}; };

View file

@ -1,12 +1,12 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
mossnet.gonic.enable = true; services.gonic.enable = true;
mossnet.gonic.settings = '' services.gonic.settings = ''
music-path /mnt/two/music/ music-path /mnt/two/music/
podcast-path /data/podcasts podcast-path /data/podcasts
cache-path /data/cache cache-path /data/cache
''; '';
mossnet.gonic.user = "headphones"; services.gonic.group = "audio";
mossnet.gonic.group = "audio"; services.gonic.user = "headphones";
networking.firewall.allowedTCPPorts = [ 4747 ]; networking.firewall.allowedTCPPorts = [ 4747 ];
} }

View file

@ -3,9 +3,9 @@
{ {
# k3s # k3s
networking.firewall.allowedTCPPorts = [ 6443 ]; networking.firewall.allowedTCPPorts = [ 6443 ];
services.k3s.enable = true; services.k3s.enable = false;
services.k3s.role = "server"; services.k3s.role = "server";
services.k3s.clusterInit = false; services.k3s.clusterInit = true;
# services.k3s.extraFlags = toString [ # services.k3s.extraFlags = toString [
# "--kubelet-arg=v=4" # Optionally add additional args to k3s # "--kubelet-arg=v=4" # Optionally add additional args to k3s
# ]; # ];

View file

@ -37,10 +37,9 @@
ensureUsers = [{ ensureUsers = [{
name = "grafana"; name = "grafana";
ensurePermissions = { ensurePermissions = {
"ALL TABLES IN SCHEMA public" = "SELECT"; "DATABASE wallabag" = "SELECT";
"DATABASE wallabag" = "CONNECT"; "DATABASE ulogger" = "SELECT";
"DATABASE ulogger" = "CONNECT"; "DATABASE photoprism" = "SELECT";
"DATABASE photoprism" = "CONNECT";
}; };
}]; }];
}; };

View file

@ -22,4 +22,3 @@
# 10.0.69.4 read.mossnet.lan # 10.0.69.4 read.mossnet.lan
# 10.0.69.4 stats.mossnet.lan # 10.0.69.4 stats.mossnet.lan
} }

View file

@ -39,14 +39,13 @@
alsa.support32Bit = true; alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
jack.enable = true; jack.enable = true;
# Deprecated as of 23.05 config = {
# config = { pipewire."context.properties"."default.clock.rate" = "48000";
# pipewire."context.properties"."default.clock.rate" = "48000"; pipewire-pulse."stream.properties"."resample.quality" = 15;
# pipewire-pulse."stream.properties"."resample.quality" = 15; client."stream.properties"."resample.quality" = 15;
# client."stream.properties"."resample.quality" = 15; client-rt."stream.properties"."resample.quality" = 15;
# client-rt."stream.properties"."resample.quality" = 15; #jack."context.modules" = [];
# #jack."context.modules" = []; };
# };
#media-session.config.bluez-monitor.properties = { #media-session.config.bluez-monitor.properties = {
# "bluez5.headset-roles" = [ "hsp_hs" "hsp_ag" ]; # "bluez5.headset-roles" = [ "hsp_hs" "hsp_ag" ];
# "bluez5.codecs" = [ "aac" "ldac" "aptx_hd" ]; # "bluez5.codecs" = [ "aac" "ldac" "aptx_hd" ];

View file

@ -2,8 +2,8 @@
{ {
services.openssh = { services.openssh = {
enable = true; enable = true;
settings.PasswordAuthentication = false; passwordAuthentication = false;
settings.PermitRootLogin = "no"; permitRootLogin = "no";
}; };
networking.firewall.allowedTCPPorts = [ 80 443 22 ]; # ssh and website networking.firewall.allowedTCPPorts = [ 80 443 22 ]; # ssh and website
security.sudo.wheelNeedsPassword = false; # needed for deploy-rs security.sudo.wheelNeedsPassword = false; # needed for deploy-rs

View file

@ -0,0 +1,30 @@
{ config, pkgs, lib, ... }:
{
# services.tailscale.enable = true;
networking.firewall.allowedUDPPorts = [ 60990 ];
age.secrets.curve-wg.file = "/etc/nixos/secrets/curve-wg.age";
age.secrets.curve-wg.owner = "anish";
networking.wireguard.interfaces = {
# TODO need some kind of module here to configure curve & box from hosts or something
wg0 = {
ips = [ "10.0.69.2/24" ];
listenPort = 60990; # to match firewall allowedUDPPorts (without this wg uses random port numbers)
privateKeyFile = "/run/agenix/curve-wg";
peers = [
# For a client configuration, one peer entry for the server will suffice.
{
publicKey = "c1J4p63rD3IlszugMZiki7UBV3YmDdqa3DU4UejXzAI=";
allowedIPs = [ "10.0.69.0/24" ];
# Set this to the server IP and port.
endpoint = "69.61.38.225:60990"; # ToDo: route to endpoint not automatically configured https://wiki.archlinux.org/index.php/WireGuard#Loop_routing https://discourse.nixos.org/t/solved-minimal-firewall-setup-for-wireguard-client/7577
# Send keepalives every 25 seconds. Important to keep NAT tables alive.
persistentKeepalive = 25;
}
];
};
};
}

View file

@ -1,7 +1,6 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
programs.zsh.enable = true;
users.users.anish = { users.users.anish = {
description = "Personal user for Anish"; description = "Personal user for Anish";
hashedPassword = "$y$j9T$y3DPt/dWaPE.gRazQqw1w0$1RMH5sl/Nu8kW3ZMywYCPRniHD/jF5qRh0VKrdJ.bV2"; hashedPassword = "$y$j9T$y3DPt/dWaPE.gRazQqw1w0$1RMH5sl/Nu8kW3ZMywYCPRniHD/jF5qRh0VKrdJ.bV2";

View file

@ -10,4 +10,5 @@
backup = import ./backup.nix; backup = import ./backup.nix;
ulogger-server = import ./ulogger.nix; ulogger-server = import ./ulogger.nix;
microbin = import ./microbin.nix; microbin = import ./microbin.nix;
photoprism = import ./photoprism.nix; #TODO remove once updated to 23.05, stolen from nixpkgs anyway
} }

View file

@ -3,13 +3,13 @@
with lib; with lib;
let let
cfg = config.mossnet.gonic; cfg = config.services.gonic;
configFile = "/etc/gonic/config"; configFile = "/etc/gonic/config";
dataFolder = "/var/lib/gonic"; dataFolder = "/var/lib/gonic";
in { in {
options = { options = {
mossnet.gonic = { services.gonic = {
enable = mkEnableOption "Gonic music server and streamer"; enable = mkEnableOption "Gonic music server and streamer";
settings = lib.mkOption { settings = lib.mkOption {