Compare commits
5 commits
bf18143773
...
719bd1de6b
| Author | SHA1 | Date | |
|---|---|---|---|
| 719bd1de6b | |||
| 64325631a6 | |||
| f9f0e9b9c7 | |||
| 8dffcd3386 | |||
| c952146305 |
7 changed files with 154 additions and 39 deletions
10
TODO.md
10
TODO.md
|
|
@ -1,9 +1,13 @@
|
||||||
- [ ] Update the README.md
|
- [ ] Update the README.md
|
||||||
- [ ] switch ssh keys to ECC (fuck RSA)
|
- [ ] switch ssh keys to ECC (fuck RSA)
|
||||||
- [ ] forgejo not post-quantum (fix that)
|
|
||||||
|
|
||||||
- [X] migrate forge.dobutterfliescry.net -> tearforge.net
|
|
||||||
- [X] rename forgejo user to git
|
|
||||||
- [ ] setup my own VPN
|
- [ ] setup my own VPN
|
||||||
- [ ] connect matcha to my VPN
|
- [ ] connect matcha to my VPN
|
||||||
- [ ] use matcha to build stuff instead of using my laptop
|
- [ ] use matcha to build stuff instead of using my laptop
|
||||||
|
|
||||||
|
- [X] update bat config
|
||||||
|
- [ ] switch to zsh? or maybe elvish?
|
||||||
|
- [ ] switch to neovim
|
||||||
|
- [ ] switch to mangowc
|
||||||
|
|
||||||
|
- [ ] fix my fuck ass emojis
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
{lib, ...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./programs.nix
|
./programs.nix
|
||||||
|
./keybinds.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
|
|
|
||||||
19
groups/cryos/keybinds.nix
Normal file
19
groups/cryos/keybinds.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{...}: {
|
||||||
|
services.keyd = {
|
||||||
|
enable = true;
|
||||||
|
keyboards.default = {
|
||||||
|
ids = ["*"];
|
||||||
|
settings = {
|
||||||
|
main = {
|
||||||
|
capslock = "meta";
|
||||||
|
|
||||||
|
# NOTE: unsure whether or not i like oneshot...
|
||||||
|
# shift = "oneshot(shift)";
|
||||||
|
# control = "oneshot(control)";
|
||||||
|
# leftalt = "oneshot(alt)";
|
||||||
|
# rightalt = "oneshot(rightalt)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,8 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
upkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Shell
|
# Shell
|
||||||
bash
|
bash
|
||||||
|
|
@ -45,6 +49,7 @@
|
||||||
nix-prefetch-git
|
nix-prefetch-git
|
||||||
nix-index
|
nix-index
|
||||||
nix-unit
|
nix-unit
|
||||||
|
upkgs.nix-search-tv
|
||||||
|
|
||||||
# Python
|
# Python
|
||||||
python312 # I use 3.12 since it's in a pretty stable state now
|
python312 # I use 3.12 since it's in a pretty stable state now
|
||||||
|
|
|
||||||
|
|
@ -26,11 +26,15 @@
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
|
# nix
|
||||||
nd = "nix develop";
|
nd = "nix develop";
|
||||||
|
ntv = "nix-search-tv";
|
||||||
rebuild = "nh os switch ~/flake";
|
rebuild = "nh os switch ~/flake";
|
||||||
trybuild = "nh os test ~/flake";
|
trybuild = "nh os test ~/flake";
|
||||||
brip = "batgrep"; # bat + ripgrep
|
|
||||||
man = "batman"; # bat + man
|
# shell utilities
|
||||||
|
rgf = "rg --files | rg";
|
||||||
|
watch = "viddy";
|
||||||
};
|
};
|
||||||
|
|
||||||
pointerCursor = {
|
pointerCursor = {
|
||||||
|
|
@ -43,14 +47,13 @@
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# for services.gnome-keyring
|
# for services.gnome-keyring
|
||||||
pkgs.gcr # provides org.gnome.keyring.SystemPrompter
|
gcr # provides org.gnome.keyring.SystemPrompter
|
||||||
seahorse # gui
|
seahorse # gui
|
||||||
krita
|
|
||||||
|
|
||||||
|
krita
|
||||||
tor-browser
|
tor-browser
|
||||||
|
|
||||||
fuzzel
|
fuzzel
|
||||||
|
|
||||||
speedtest-cli
|
speedtest-cli
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,109 @@
|
||||||
|
let
|
||||||
|
# Module Meta Configuration
|
||||||
|
setShellAliases = true;
|
||||||
|
supportBash = true;
|
||||||
|
supportZsh = true;
|
||||||
|
supportFish = true;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
|
osConfig,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
|
username,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
# like `/bin/cat` but with syntax highlighting
|
inherit
|
||||||
# TODO: change the pager (maybe use Github:sachaos/viddy instead)
|
(builtins)
|
||||||
|
elemAt
|
||||||
|
;
|
||||||
|
|
||||||
|
inherit
|
||||||
|
(lib)
|
||||||
|
flip
|
||||||
|
mkIf
|
||||||
|
optional
|
||||||
|
splitString
|
||||||
|
;
|
||||||
|
|
||||||
|
cfg = config.programs.bat;
|
||||||
|
|
||||||
|
# NOTE: `<derivation>.pname` can be used instead of `<derivation>.meta.mainProgram`
|
||||||
|
# NOTE: but then `pkgs.bash` would return `"bash-interactive"` which is annoying...
|
||||||
|
shellPkg = osConfig.users.users.${username}.shell;
|
||||||
|
shell = shellPkg.meta.mainProgram;
|
||||||
|
|
||||||
|
pager =
|
||||||
|
cfg.config.pager
|
||||||
|
|> splitString " "
|
||||||
|
|> flip elemAt 0;
|
||||||
|
in {
|
||||||
programs.bat = {
|
programs.bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
|
# WARNING: pager must be set for this module to function
|
||||||
|
# NOTE: not sure whether to use ov/moor/viddy as my pager?
|
||||||
pager = "less -FR";
|
pager = "less -FR";
|
||||||
theme = "Dracula";
|
# theme = "Dracula";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# other commands that make normal utils prettier
|
home = {
|
||||||
home.packages = with pkgs.bat-extras; [
|
shellAliases = mkIf setShellAliases {
|
||||||
|
bat = "prettybat";
|
||||||
|
cat = "prettybat";
|
||||||
|
diff = "batdiff";
|
||||||
|
brg = "batgrep";
|
||||||
|
man = "batman";
|
||||||
|
# watch = "batwatch"; # NOTE: using viddy instead atm
|
||||||
|
};
|
||||||
|
|
||||||
|
sessionVariables = {
|
||||||
|
PAGER = pager;
|
||||||
|
|
||||||
|
# REF: https://github.com/eth-p/bat-extras/blob/master/doc/batpipe.md
|
||||||
|
BATPIPE_ENABLE_COLOR = "true";
|
||||||
|
BATPIPE_INSIDE_LESS = "true";
|
||||||
|
BATPIPE_TERM_WIDTH = "-"; # hyphone -> auto detect
|
||||||
|
};
|
||||||
|
|
||||||
|
packages = with pkgs.bat-extras;
|
||||||
|
[
|
||||||
batdiff
|
batdiff
|
||||||
batgrep
|
batgrep
|
||||||
batman
|
batman
|
||||||
|
batpipe
|
||||||
batwatch
|
batwatch
|
||||||
prettybat
|
prettybat
|
||||||
];
|
]
|
||||||
|
++ (with pkgs; [
|
||||||
|
bat
|
||||||
|
entr # required by pkgs.bat-extras.batwatch
|
||||||
|
ripgrep # required by pkgs.bat-extras.batgrep
|
||||||
|
delta # required by pkgs.bat-extras.batdiff
|
||||||
|
])
|
||||||
|
++ optional (pkgs?${pager}) pkgs.${pager};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure the user's shell to source batpipe
|
||||||
|
# WARNING: only currently supports bash, zsh, & fish
|
||||||
|
programs = {
|
||||||
|
bash = mkIf (supportBash || shell == "bash") {
|
||||||
|
initExtra = ''
|
||||||
|
eval "$(batpipe)"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
zsh = mkIf (supportZsh || shell == "zsh") {
|
||||||
|
initContent = ''
|
||||||
|
eval "$(batpipe)"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
fish = mkIf (supportFish || shell == "fish") {
|
||||||
|
interactiveShellInit = ''
|
||||||
|
eval (batpipe)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{
|
{
|
||||||
config,
|
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
|
|
@ -60,14 +59,13 @@
|
||||||
curl -sL "https://www.gitignore.io/api/$type"
|
curl -sL "https://www.gitignore.io/api/$type"
|
||||||
end
|
end
|
||||||
|
|
||||||
# ripgrep on files
|
end
|
||||||
function rgf
|
|
||||||
rg --files | rg $args
|
function decompile
|
||||||
|
objdump --disassemble --demangle --debugging --debugging-tags $argv | bat --language asm
|
||||||
end
|
end
|
||||||
|
|
||||||
set -g fish_greeting (rand_greet)
|
set -g fish_greeting (rand_greet)
|
||||||
|
|
||||||
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue