summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-06-30 20:27:05 -0700
committerFuwn <[email protected]>2024-06-30 20:27:05 -0700
commit03f6d5e3a9a59cf45f4230e99a005a7ac90cc9d3 (patch)
treee11608ac9a1775749a17e811bf0275fe71328d25
parentwal (diff)
downloadhome-manager-config-03f6d5e3a9a59cf45f4230e99a005a7ac90cc9d3.tar.xz
home-manager-config-03f6d5e3a9a59cf45f4230e99a005a7ac90cc9d3.zip
hi
-rw-r--r--flake.nix22
-rw-r--r--home/fuwn/cli/core/bat/default.nix (renamed from home/fuwn/cli/bat/default.nix)0
-rw-r--r--home/fuwn/cli/core/default.nix (renamed from home/fuwn/cli/rm-improved/default.nix)7
-rw-r--r--home/fuwn/cli/core/eza/default.nix (renamed from home/fuwn/cli/eza/default.nix)0
-rw-r--r--home/fuwn/cli/default.nix12
-rw-r--r--home/fuwn/cli/dog/default.nix5
-rw-r--r--home/fuwn/cli/fd/default.nix5
-rw-r--r--home/fuwn/cli/meta/ai/default.nix5
-rw-r--r--home/fuwn/cli/meta/default.nix1
-rw-r--r--home/fuwn/cli/meta/shell/default.nix8
-rw-r--r--home/fuwn/cli/meta/shell/fish/default.nix151
-rw-r--r--home/fuwn/cli/meta/shell/starship/default.nix (renamed from home/fuwn/cli/starship/default.nix)0
-rw-r--r--home/fuwn/cli/nnn/default.nix3
-rw-r--r--home/fuwn/cli/other/default.nix (renamed from home/fuwn/cli/asciinema/default.nix)3
-rw-r--r--home/fuwn/gui/ahoviewer/default.nix5
-rw-r--r--home/fuwn/gui/default.nix11
-rw-r--r--home/fuwn/gui/foot/default.nix3
-rw-r--r--home/fuwn/gui/kitty/default.nix3
-rw-r--r--home/fuwn/gui/meta/default.nix5
-rw-r--r--home/fuwn/gui/meta/gemini/default.nix5
-rw-r--r--home/fuwn/gui/warp/default.nix5
-rw-r--r--home/fuwn/home.nix3
-rw-r--r--home/fuwn/meta/default.nix15
-rw-r--r--home/fuwn/meta/desktop/wayland/hyprland/hyprland/binds.nix2
-rw-r--r--home/fuwn/meta/desktop/wayland/hyprland/hyprland/rules.nix1
-rw-r--r--home/fuwn/meta/desktop/wayland/hyprland/hyprland/workspaces.nix4
-rw-r--r--home/fuwn/meta/development/default.nix (renamed from home/fuwn/meta/tools/default.nix)1
-rw-r--r--home/fuwn/meta/development/http/default.nix (renamed from home/fuwn/meta/tools/http/default.nix)0
-rw-r--r--home/fuwn/meta/development/infrastructure/default.nix (renamed from home/fuwn/meta/tools/infrastructure/default.nix)0
-rw-r--r--home/fuwn/meta/development/infrastructure/docker/default.nix (renamed from home/fuwn/meta/tools/infrastructure/docker/default.nix)0
-rw-r--r--home/fuwn/meta/development/infrastructure/fly/default.nix (renamed from home/fuwn/meta/tools/infrastructure/fly/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/agnostic/default.nix (renamed from home/fuwn/meta/tools/languages/agnostic/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/assembly/default.nix (renamed from home/fuwn/meta/tools/languages/assembly/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/c/default.nix (renamed from home/fuwn/cli/ncdu/default.nix)2
-rw-r--r--home/fuwn/meta/development/languages/cobol/default.nix (renamed from home/fuwn/meta/tools/languages/cobol/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/default.nix (renamed from home/fuwn/meta/tools/languages/default.nix)3
-rw-r--r--home/fuwn/meta/development/languages/gleam/default.nix (renamed from home/fuwn/meta/tools/languages/gleam/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/go/default.nix (renamed from home/fuwn/meta/tools/languages/go/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/hare/default.nix (renamed from home/fuwn/meta/tools/languages/hare/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/javascript/default.nix (renamed from home/fuwn/meta/tools/languages/javascript/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/jvm/default.nix (renamed from home/fuwn/meta/tools/languages/jvm/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/protobuf/default.nix (renamed from home/fuwn/meta/tools/languages/protobuf/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/python/default.nix (renamed from home/fuwn/meta/tools/languages/python/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/rust/default.nix (renamed from home/fuwn/meta/tools/languages/rust/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/shell/default.nix (renamed from home/fuwn/meta/tools/languages/shell/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/vlang/default.nix (renamed from home/fuwn/meta/tools/languages/vlang/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/yaml/default.nix (renamed from home/fuwn/meta/tools/languages/yaml/default.nix)0
-rw-r--r--home/fuwn/meta/development/languages/zig/default.nix (renamed from home/fuwn/meta/tools/languages/zig/default.nix)0
-rw-r--r--home/fuwn/meta/development/nix/default.nix (renamed from home/fuwn/meta/tools/nix/default.nix)0
-rw-r--r--home/fuwn/meta/development/tcp/default.nix (renamed from home/fuwn/meta/tools/tcp/default.nix)0
-rw-r--r--home/fuwn/meta/development/tools/default.nix (renamed from home/fuwn/cli/navi/default.nix)3
-rw-r--r--home/fuwn/meta/education/calculator/default.nix (renamed from home/fuwn/meta/calculator/default.nix)0
-rw-r--r--home/fuwn/meta/education/default.nix (renamed from home/fuwn/gui/anki/default.nix)4
-rw-r--r--home/fuwn/meta/filesystem/default.nix8
-rw-r--r--home/fuwn/meta/gaming/default.nix2
-rw-r--r--home/fuwn/meta/language/codespell/default.nix5
-rw-r--r--home/fuwn/meta/language/default.nix8
-rw-r--r--home/fuwn/meta/multimedia/audio/default.nix (renamed from home/fuwn/meta/audio/default.nix)6
-rw-r--r--home/fuwn/meta/multimedia/audio/spotify/default.nix (renamed from home/fuwn/meta/spotify/default.nix)0
-rw-r--r--home/fuwn/meta/multimedia/default.nix11
-rw-r--r--home/fuwn/meta/multimedia/image/default.nix (renamed from home/fuwn/meta/image/default.nix)1
-rw-r--r--home/fuwn/meta/multimedia/video/anime/default.nix (renamed from home/fuwn/meta/anime/default.nix)0
-rw-r--r--home/fuwn/meta/multimedia/video/default.nix (renamed from home/fuwn/meta/video/default.nix)4
-rw-r--r--home/fuwn/meta/rice/btop/default.nix3
-rw-r--r--home/fuwn/meta/rice/cpufetch/default.nix5
-rw-r--r--home/fuwn/meta/rice/default.nix15
-rw-r--r--home/fuwn/meta/rice/glances/default.nix828
-rw-r--r--home/fuwn/meta/rice/iotop/default.nix5
-rw-r--r--home/fuwn/meta/scripts/default.nix13
-rwxr-xr-xhome/fuwn/meta/scripts/scripts/fim16
-rw-r--r--home/fuwn/meta/scripts/scripts/tup-init25
-rw-r--r--home/fuwn/meta/smolnet/bollux/default.nix (renamed from home/fuwn/cli/meta/smolnet/bollux/default.nix)0
-rw-r--r--home/fuwn/meta/smolnet/bollux/fix_lesskey_nag.patch (renamed from home/fuwn/cli/meta/smolnet/bollux/fix_lesskey_nag.patch)0
-rw-r--r--home/fuwn/meta/smolnet/default.nix (renamed from home/fuwn/cli/meta/smolnet/default.nix)1
-rw-r--r--home/fuwn/meta/system/bitwarden/default.nix (renamed from home/fuwn/meta/bitwarden/default.nix)0
-rw-r--r--home/fuwn/meta/system/default.nix10
-rw-r--r--home/fuwn/meta/system/terminal/default.nix (renamed from home/fuwn/gui/cool-retro-term/default.nix)6
-rw-r--r--home/fuwn/meta/system/terminal/foot/default.nix49
-rw-r--r--home/fuwn/meta/system/terminal/kitty/default.nix112
79 files changed, 1320 insertions, 110 deletions
diff --git a/flake.nix b/flake.nix
index e1652f7..3ef3c99 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,5 +1,7 @@
{
inputs = {
+ # nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
+ # nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
home-manager = {
@@ -7,11 +9,8 @@
inputs.nixpkgs.follows = "nixpkgs";
};
- # waybar-hyprland.url = "github:hyprwm/hyprland";
nur.url = "github:nix-community/NUR";
stylix.url = "github:danth/stylix";
- # matugen.url = "github:InioX/matugen?ref=v2.2.0";
- # xdg-portal-hyprland.url = "github:hyprwm/xdg-desktop-portal-hyprland";
systems.url = "github:nix-systems/default-linux";
hyprland = {
@@ -25,7 +24,6 @@
inputs.hyprland.follows = "hyprland";
};
-
Hyprspace = {
url = "github:KZDKM/Hyprspace";
inputs.hyprland.follows = "hyprland";
@@ -43,7 +41,9 @@
lib = nixpkgs.lib // home-manager.lib;
forEachSystem = f: lib.genAttrs (import systems) (system: f pkgsFor.${system});
pkgsFor = lib.genAttrs (import systems) (
- system: import nixpkgs { inherit system; }
+ system: import nixpkgs {
+ inherit system;
+ }
);
in
{
@@ -51,6 +51,18 @@
defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux;
+ nixosConfigurations = {
+ # "ise" = lib.nixosSystem {
+ # modules = [
+ # ./hosts/ise
+ # ];
+
+ # extraSpecialArgs = {
+ # inherit inputs outputs;
+ # };
+ # };
+ };
+
homeConfigurations = {
fuwn = home-manager.lib.homeManagerConfiguration {
pkgs = pkgsFor.x86_64-linux;
diff --git a/home/fuwn/cli/bat/default.nix b/home/fuwn/cli/core/bat/default.nix
index c1dad3f..c1dad3f 100644
--- a/home/fuwn/cli/bat/default.nix
+++ b/home/fuwn/cli/core/bat/default.nix
diff --git a/home/fuwn/cli/rm-improved/default.nix b/home/fuwn/cli/core/default.nix
index d4a5fc1..5585e65 100644
--- a/home/fuwn/cli/rm-improved/default.nix
+++ b/home/fuwn/cli/core/default.nix
@@ -1,5 +1,12 @@
{ pkgs, ... }: {
+ imports = [
+ ./bat
+ ./eza
+ ];
+
home.packages = with pkgs; [
+ dogdns
+ fd
rm-improved
];
}
diff --git a/home/fuwn/cli/eza/default.nix b/home/fuwn/cli/core/eza/default.nix
index a8d2f57..a8d2f57 100644
--- a/home/fuwn/cli/eza/default.nix
+++ b/home/fuwn/cli/core/eza/default.nix
diff --git a/home/fuwn/cli/default.nix b/home/fuwn/cli/default.nix
index 06a0dbb..45912f4 100644
--- a/home/fuwn/cli/default.nix
+++ b/home/fuwn/cli/default.nix
@@ -1,19 +1,11 @@
_: {
imports = [
- ./asciinema
- ./bat
- ./dog
- ./eza
- ./fd
+ ./core
./meta
- ./navi
- ./ncdu
./nethogs
- ./nnn
# ./nvtop
- ./rm-improved
+ ./other
./sloc
- ./starship
./tealdeer
./todo
];
diff --git a/home/fuwn/cli/dog/default.nix b/home/fuwn/cli/dog/default.nix
deleted file mode 100644
index 437a1a0..0000000
--- a/home/fuwn/cli/dog/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ pkgs, ... }: {
- home.packages = with pkgs; [
- dogdns
- ];
-}
diff --git a/home/fuwn/cli/fd/default.nix b/home/fuwn/cli/fd/default.nix
deleted file mode 100644
index 92e0e28..0000000
--- a/home/fuwn/cli/fd/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ pkgs, ... }: {
- home.packages = with pkgs; [
- fd
- ];
-}
diff --git a/home/fuwn/cli/meta/ai/default.nix b/home/fuwn/cli/meta/ai/default.nix
index fe42707..7513348 100644
--- a/home/fuwn/cli/meta/ai/default.nix
+++ b/home/fuwn/cli/meta/ai/default.nix
@@ -3,4 +3,9 @@
ollama-cuda
shell-gpt
];
+
+ # services.ollama = {
+ # enable = true;
+ # acceleration = "cuda";
+ # };
}
diff --git a/home/fuwn/cli/meta/default.nix b/home/fuwn/cli/meta/default.nix
index 073fc94..a7abbbb 100644
--- a/home/fuwn/cli/meta/default.nix
+++ b/home/fuwn/cli/meta/default.nix
@@ -5,6 +5,5 @@ _: {
./irc
./scripting
./shell
- ./smolnet
];
}
diff --git a/home/fuwn/cli/meta/shell/default.nix b/home/fuwn/cli/meta/shell/default.nix
index 0d60ba0..e304479 100644
--- a/home/fuwn/cli/meta/shell/default.nix
+++ b/home/fuwn/cli/meta/shell/default.nix
@@ -1,5 +1,13 @@
{ pkgs, ... }: {
+ imports = [
+ ./fish
+ ./starship
+ ];
+
home.packages = with pkgs; [
+ asciinema
+ navi
shellclear
+ zoxide
];
}
diff --git a/home/fuwn/cli/meta/shell/fish/default.nix b/home/fuwn/cli/meta/shell/fish/default.nix
new file mode 100644
index 0000000..291e5a4
--- /dev/null
+++ b/home/fuwn/cli/meta/shell/fish/default.nix
@@ -0,0 +1,151 @@
+{ pkgs, ... }: {
+ programs.fish = {
+ enable = true;
+
+ shellInit = ''
+ if status is-interactive
+ set fish_greeting
+
+ fish_vi_key_bindings
+
+ starship init fish | source
+
+ function fish_postexec --on-event fish_postexec
+ if test "$argv" != "clear"
+ echo
+ end
+ end
+
+ function vpn
+ env BIND_INTERFACE=wgpia0 LD_PRELOAD=/usr/lib/bindToInterface.so $argv
+ end
+
+ cat ~/.cache/wal/sequences
+ end
+
+ set -l config_home (set -q XDG_CONFIG_HOME; and echo $XDG_CONFIG_HOME; or echo $HOME/.config)
+
+ set HISTSIZE -1
+ set HISTFILESIZE -1
+ set SAVEHIST -1
+
+ source "$config_home/shell/profile"
+ bass source "~/.nix-profile/etc/profile.d/hm-session-vars.sh"
+
+ bind \ce edit_command_buffer
+
+ zoxide init fish | source
+ '';
+
+ plugins = [
+ {
+ name = "fzf.fish";
+
+ src = pkgs.fetchFromGitHub {
+ owner = "patrickf1";
+ repo = "fzf.fish";
+ rev = "8920367cf85eee5218cc25a11e209d46e2591e7a";
+ sha256 = "sha256-T8KYLA/r/gOKvAivKRoeqIwE2pINlxFQtZJHpOy9GMM=";
+ };
+ }
+ {
+ name = "bass";
+
+ src = pkgs.fetchFromGitHub {
+ owner = "edc";
+ repo = "bass";
+ rev = "79b62958ecf4e87334f24d6743e5766475bcf4d0";
+ sha256 = "sha256-3d/qL+hovNA4VMWZ0n1L+dSM1lcz7P5CQJyy+/8exTc=";
+ };
+ }
+ {
+ name = "nvm.fish";
+
+ src = pkgs.fetchFromGitHub {
+ owner = "jorgebucaran";
+ repo = "nvm.fish";
+ rev = "b8edb1ee24cbbf7259196b0cb3c6c4ab65b07929";
+ sha256 = "sha256-7JxIQSseBv81SSpWH1pufx8fh9EQhbo3r2nVVREwc58=";
+ };
+ }
+ {
+ name = "sponge";
+
+ src = pkgs.fetchFromGitHub {
+ owner = "meaningful-ooo";
+ repo = "sponge";
+ rev = "384299545104d5256648cee9d8b117aaa9a6d7be";
+ sha256 = "sha256-MdcZUDRtNJdiyo2l9o5ma7nAX84xEJbGFhAVhK+Zm1w=";
+ };
+ }
+ {
+ name = "autopair.fish";
+
+ src = pkgs.fetchFromGitHub {
+ owner = "jorgebucaran";
+ repo = "autopair.fish";
+ rev = "4d1752ff5b39819ab58d7337c69220342e9de0e2";
+ sha256 = "sha256-qt3t1iKRRNuiLWiVoiAYOu+9E7jsyECyIqZJ/oRIT1A=";
+ };
+ }
+ ];
+
+ shellAliases = {
+ # Verbosity
+ cp = "cp -iv";
+ mv = "mv -iv";
+ # rm = "rm -vI";
+ bc = "bc -ql";
+ rsync = "rsync -vrPlu";
+ mkd = "mkdir -pv";
+ yt = "yt-dlp --embed-metadata -i";
+ yta = "yt -x -f bestaudio/best";
+ ytt = "yt --skip-download --write-thumbnail";
+ ffmpeg = "ffmpeg -hide_banner";
+ wdic = "wdic --homophones --kanji --color --pager";
+ hakuneko = "hakuneko-desktop --no-sandbox";
+ fastfetch = "clear && /usr/bin/env fastfetch";
+
+ # Modern Alternatives & Alias Rewrites
+ sxiv = "nsxiv";
+ unzip = "ripunzip unzip-file";
+ nvim = "lvim";
+ vim = "lvim";
+ vimdiff = "lvim -d";
+ rm = "rip";
+
+ # Colourise
+ ls = "exa -h --no-quotes --color=auto --group-directories-first";
+ grep = "grep --color=auto";
+ diff = "diff --color=auto";
+ ccat = "highlight --out-format=ansi";
+ ip = "ip -color=auto";
+
+ # Abbreviations
+ ka = "killall";
+ g = "git";
+ sdn = "shutdown -h now";
+ e = "$EDITOR";
+ v = "$EDITOR";
+ ff = "fastfetch";
+
+ # Other
+ pacbins = "comm -23 <(yay -Qqett | sort) <(yay -Qqg base -g base-devel | sort | uniq)";
+ chan = "chan-downloader -c 10";
+ taiga = "bottles-cli run -b Taiga -p Taiga";
+ rotd = "systemctl --user restart opentabledriver.service";
+ ks = "kaguya stream --user-agent 'Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0'";
+ def = "myougiden";
+ suzuri = "SUZURI_MINIMAL=1 SUZURI_REVERSE=1 ~/Documents/Code/Git/Fuwn/suzuri/suzuri";
+ manga-cli = "bash <(curl -s 'https://raw.githubusercontent.com/justchokingaround/manga-cli/master/manga-cli')";
+ "5ch" = "html2md -i 'https://ff5ch.syoboi.jp/' -s section | glow";
+ shinobu = "curl --silent https://shinobu.fuwn.workers.dev/shinobu -o /tmp/shinobu && nsxiv /tmp/shinobu";
+ auto_subtitle = "source $HOME/Documents/Code/Git/Random/auto-subtitle/venv/bin/activate && auto_subtitle --model medium --task translate --srt_only True";
+ steamy = "mangohud gamemoderun steam-runtime";
+ koix = "koi -f";
+ seamonkey = "$HOME/.local/src/seamonkey/seamonkey-bin";
+ doom = "$HOME/.config/emacs/bin/doom";
+ lagrange = "SDL_VIDEODRIVER=x11 /usr/bin/lagrange";
+ };
+ };
+}
diff --git a/home/fuwn/cli/starship/default.nix b/home/fuwn/cli/meta/shell/starship/default.nix
index 0088038..0088038 100644
--- a/home/fuwn/cli/starship/default.nix
+++ b/home/fuwn/cli/meta/shell/starship/default.nix
diff --git a/home/fuwn/cli/nnn/default.nix b/home/fuwn/cli/nnn/default.nix
deleted file mode 100644
index 06fa7c9..0000000
--- a/home/fuwn/cli/nnn/default.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{ pkgs, ... }: {
- programs.nnn.enable = true;
-}
diff --git a/home/fuwn/cli/asciinema/default.nix b/home/fuwn/cli/other/default.nix
index 750c52d..f23f7f4 100644
--- a/home/fuwn/cli/asciinema/default.nix
+++ b/home/fuwn/cli/other/default.nix
@@ -1,5 +1,6 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
- asciinema
+ fontpreview
+ ripunzip
];
}
diff --git a/home/fuwn/gui/ahoviewer/default.nix b/home/fuwn/gui/ahoviewer/default.nix
deleted file mode 100644
index c6907e1..0000000
--- a/home/fuwn/gui/ahoviewer/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ pkgs, ... }: {
- home.packages = with pkgs; [
- ahoviewer
- ];
-}
diff --git a/home/fuwn/gui/default.nix b/home/fuwn/gui/default.nix
deleted file mode 100644
index a3ec2d2..0000000
--- a/home/fuwn/gui/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-_: {
- imports = [
- ./ahoviewer
- ./anki
- ./cool-retro-term
- # ./foot
- # ./kitty
- ./meta
- # ./warp
- ];
-}
diff --git a/home/fuwn/gui/foot/default.nix b/home/fuwn/gui/foot/default.nix
deleted file mode 100644
index 8945d61..0000000
--- a/home/fuwn/gui/foot/default.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{ pkgs, ... }: {
- programs.foot.enable = true;
-}
diff --git a/home/fuwn/gui/kitty/default.nix b/home/fuwn/gui/kitty/default.nix
deleted file mode 100644
index ed2d7e7..0000000
--- a/home/fuwn/gui/kitty/default.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{ pkgs, ... }: {
- programs.kitty.enable = true;
-}
diff --git a/home/fuwn/gui/meta/default.nix b/home/fuwn/gui/meta/default.nix
deleted file mode 100644
index 7959d11..0000000
--- a/home/fuwn/gui/meta/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-_: {
- imports = [
- ./gemini
- ];
-}
diff --git a/home/fuwn/gui/meta/gemini/default.nix b/home/fuwn/gui/meta/gemini/default.nix
deleted file mode 100644
index a9b32ac..0000000
--- a/home/fuwn/gui/meta/gemini/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ pkgs, ... }: {
- home.packages = with pkgs; [
- geopard
- ];
-}
diff --git a/home/fuwn/gui/warp/default.nix b/home/fuwn/gui/warp/default.nix
deleted file mode 100644
index de37c40..0000000
--- a/home/fuwn/gui/warp/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ pkgs, ... }: {
- home.packages = with pkgs; [
- warp-terminal
- ];
-}
diff --git a/home/fuwn/home.nix b/home/fuwn/home.nix
index bf97aeb..3d0ca02 100644
--- a/home/fuwn/home.nix
+++ b/home/fuwn/home.nix
@@ -69,6 +69,8 @@
#
sessionVariables = {
# EDITOR = "emacs";
+ # ref: https://github.com/nix-community/home-manager/issues/354#issuecomment-475803163
+ LOCALES_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
};
# sessionPath = [
@@ -81,7 +83,6 @@
imports = [
./cli
- ./gui
./meta
];
diff --git a/home/fuwn/meta/default.nix b/home/fuwn/meta/default.nix
index db9b929..fca7414 100644
--- a/home/fuwn/meta/default.nix
+++ b/home/fuwn/meta/default.nix
@@ -1,18 +1,15 @@
_: {
imports = [
- ./anime
- ./audio
- ./bitwarden
- ./calculator
./desktop
+ ./development
+ ./education
+ ./filesystem
# ./gaming
- ./image
- ./language
+ ./multimedia
./rice
./scripts
- ./spotify
+ ./smolnet
./steam
- ./tools
- ./video
+ ./system
];
}
diff --git a/home/fuwn/meta/desktop/wayland/hyprland/hyprland/binds.nix b/home/fuwn/meta/desktop/wayland/hyprland/hyprland/binds.nix
index 1a2c8f0..6d63d88 100644
--- a/home/fuwn/meta/desktop/wayland/hyprland/hyprland/binds.nix
+++ b/home/fuwn/meta/desktop/wayland/hyprland/hyprland/binds.nix
@@ -131,7 +131,7 @@ _: {
"$mod SHIFT, Print, exec, screenshot --window"
"$mod CTRL, Print, exec, screenshot --monitor"
"$mod, Print, exec, screenshot --now"
- "$mod SHIFT, v, exec, screenshot --now --clipboard && pypr toggle spgpt && ydotool key 42:1 1:1 1:0 42:0 29:1 47:1 29:0 47:0"
+ "$mod SHIFT, v, exec, screenshot --now --clipboard && hyprctl dispatch togglespecialworkspace chatgpt && ydotool key 42:1 1:1 1:0 42:0 29:1 47:1 29:0 47:0"
# Media keys
# ...
diff --git a/home/fuwn/meta/desktop/wayland/hyprland/hyprland/rules.nix b/home/fuwn/meta/desktop/wayland/hyprland/hyprland/rules.nix
index 862d8f1..d933d5e 100644
--- a/home/fuwn/meta/desktop/wayland/hyprland/hyprland/rules.nix
+++ b/home/fuwn/meta/desktop/wayland/hyprland/hyprland/rules.nix
@@ -19,6 +19,7 @@ _: {
"float, class:splash"
"float, class:confirmreset"
"float, title:Open File"
+ "float, title:Save File"
"float, title:branchdialog"
"float, title:^(Open File)(.*)$"
"float, title:^(Select a File)(.*)$"
diff --git a/home/fuwn/meta/desktop/wayland/hyprland/hyprland/workspaces.nix b/home/fuwn/meta/desktop/wayland/hyprland/hyprland/workspaces.nix
index 89644ae..ba94ca6 100644
--- a/home/fuwn/meta/desktop/wayland/hyprland/hyprland/workspaces.nix
+++ b/home/fuwn/meta/desktop/wayland/hyprland/hyprland/workspaces.nix
@@ -31,8 +31,8 @@ _: {
) ++ [
"special:simple_terminal, on-created-empty:[float;center;size 50% 65%] kitty --class simple_terminal"
"special:simple_calculator, on-created-empty:[float;center;size 50% 50%] kitty --class simple_calculator -e bc -lq"
- "special:chatgpt, on-created-empty:[float;center;size 65% 75%] thorium-browser --user-data-dir=/home/fuwn/.local/share/spgpt --app='https://chatgpt.com/'"
- "special:spotify, on-created-empty:[float;center;size 65% 90%] LD_PRELOAD=/usr/lib/spotifywm.so /opt/spotify/spotify"
+ "special:chatgpt, on-created-empty:[float;center;size 65% 75%] thorium-browser --user-data-dir=~/.local/share/thorium-chatgpt --app='https://chatgpt.com/'"
+ "special:spotify, on-created-empty:[float;center;size 65% 90%] spotify"
"special:calculator, on-created-empty:[float;center;size 50% 50%] qalculate-gtk"
];
}
diff --git a/home/fuwn/meta/tools/default.nix b/home/fuwn/meta/development/default.nix
index 0fa7981..e08677f 100644
--- a/home/fuwn/meta/tools/default.nix
+++ b/home/fuwn/meta/development/default.nix
@@ -5,5 +5,6 @@ _: {
./languages
./nix
./tcp
+ ./tools
];
}
diff --git a/home/fuwn/meta/tools/http/default.nix b/home/fuwn/meta/development/http/default.nix
index b917245..b917245 100644
--- a/home/fuwn/meta/tools/http/default.nix
+++ b/home/fuwn/meta/development/http/default.nix
diff --git a/home/fuwn/meta/tools/infrastructure/default.nix b/home/fuwn/meta/development/infrastructure/default.nix
index 756050f..756050f 100644
--- a/home/fuwn/meta/tools/infrastructure/default.nix
+++ b/home/fuwn/meta/development/infrastructure/default.nix
diff --git a/home/fuwn/meta/tools/infrastructure/docker/default.nix b/home/fuwn/meta/development/infrastructure/docker/default.nix
index 0a17952..0a17952 100644
--- a/home/fuwn/meta/tools/infrastructure/docker/default.nix
+++ b/home/fuwn/meta/development/infrastructure/docker/default.nix
diff --git a/home/fuwn/meta/tools/infrastructure/fly/default.nix b/home/fuwn/meta/development/infrastructure/fly/default.nix
index 9e8147e..9e8147e 100644
--- a/home/fuwn/meta/tools/infrastructure/fly/default.nix
+++ b/home/fuwn/meta/development/infrastructure/fly/default.nix
diff --git a/home/fuwn/meta/tools/languages/agnostic/default.nix b/home/fuwn/meta/development/languages/agnostic/default.nix
index 77a3086..77a3086 100644
--- a/home/fuwn/meta/tools/languages/agnostic/default.nix
+++ b/home/fuwn/meta/development/languages/agnostic/default.nix
diff --git a/home/fuwn/meta/tools/languages/assembly/default.nix b/home/fuwn/meta/development/languages/assembly/default.nix
index b593a41..b593a41 100644
--- a/home/fuwn/meta/tools/languages/assembly/default.nix
+++ b/home/fuwn/meta/development/languages/assembly/default.nix
diff --git a/home/fuwn/cli/ncdu/default.nix b/home/fuwn/meta/development/languages/c/default.nix
index 1c0bfca..2233523 100644
--- a/home/fuwn/cli/ncdu/default.nix
+++ b/home/fuwn/meta/development/languages/c/default.nix
@@ -1,5 +1,5 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
- ncdu
+ clang
];
}
diff --git a/home/fuwn/meta/tools/languages/cobol/default.nix b/home/fuwn/meta/development/languages/cobol/default.nix
index 82e5464..82e5464 100644
--- a/home/fuwn/meta/tools/languages/cobol/default.nix
+++ b/home/fuwn/meta/development/languages/cobol/default.nix
diff --git a/home/fuwn/meta/tools/languages/default.nix b/home/fuwn/meta/development/languages/default.nix
index 30f7894..1ec2f16 100644
--- a/home/fuwn/meta/tools/languages/default.nix
+++ b/home/fuwn/meta/development/languages/default.nix
@@ -2,13 +2,14 @@ _: {
imports = [
./agnostic
# ./assembly
+ ./c
./cobol
./gleam
./go
./hare
./javascript
# ./jvm
- # ./protobuf
+ ./protobuf
./python
./rust
./shell
diff --git a/home/fuwn/meta/tools/languages/gleam/default.nix b/home/fuwn/meta/development/languages/gleam/default.nix
index de1ab92..de1ab92 100644
--- a/home/fuwn/meta/tools/languages/gleam/default.nix
+++ b/home/fuwn/meta/development/languages/gleam/default.nix
diff --git a/home/fuwn/meta/tools/languages/go/default.nix b/home/fuwn/meta/development/languages/go/default.nix
index 3c4a809..3c4a809 100644
--- a/home/fuwn/meta/tools/languages/go/default.nix
+++ b/home/fuwn/meta/development/languages/go/default.nix
diff --git a/home/fuwn/meta/tools/languages/hare/default.nix b/home/fuwn/meta/development/languages/hare/default.nix
index 79fc13b..79fc13b 100644
--- a/home/fuwn/meta/tools/languages/hare/default.nix
+++ b/home/fuwn/meta/development/languages/hare/default.nix
diff --git a/home/fuwn/meta/tools/languages/javascript/default.nix b/home/fuwn/meta/development/languages/javascript/default.nix
index 5aaccda..5aaccda 100644
--- a/home/fuwn/meta/tools/languages/javascript/default.nix
+++ b/home/fuwn/meta/development/languages/javascript/default.nix
diff --git a/home/fuwn/meta/tools/languages/jvm/default.nix b/home/fuwn/meta/development/languages/jvm/default.nix
index d3ab862..d3ab862 100644
--- a/home/fuwn/meta/tools/languages/jvm/default.nix
+++ b/home/fuwn/meta/development/languages/jvm/default.nix
diff --git a/home/fuwn/meta/tools/languages/protobuf/default.nix b/home/fuwn/meta/development/languages/protobuf/default.nix
index 21dd9f7..21dd9f7 100644
--- a/home/fuwn/meta/tools/languages/protobuf/default.nix
+++ b/home/fuwn/meta/development/languages/protobuf/default.nix
diff --git a/home/fuwn/meta/tools/languages/python/default.nix b/home/fuwn/meta/development/languages/python/default.nix
index 84b15d4..84b15d4 100644
--- a/home/fuwn/meta/tools/languages/python/default.nix
+++ b/home/fuwn/meta/development/languages/python/default.nix
diff --git a/home/fuwn/meta/tools/languages/rust/default.nix b/home/fuwn/meta/development/languages/rust/default.nix
index 02360d1..02360d1 100644
--- a/home/fuwn/meta/tools/languages/rust/default.nix
+++ b/home/fuwn/meta/development/languages/rust/default.nix
diff --git a/home/fuwn/meta/tools/languages/shell/default.nix b/home/fuwn/meta/development/languages/shell/default.nix
index 1953aac..1953aac 100644
--- a/home/fuwn/meta/tools/languages/shell/default.nix
+++ b/home/fuwn/meta/development/languages/shell/default.nix
diff --git a/home/fuwn/meta/tools/languages/vlang/default.nix b/home/fuwn/meta/development/languages/vlang/default.nix
index d9da941..d9da941 100644
--- a/home/fuwn/meta/tools/languages/vlang/default.nix
+++ b/home/fuwn/meta/development/languages/vlang/default.nix
diff --git a/home/fuwn/meta/tools/languages/yaml/default.nix b/home/fuwn/meta/development/languages/yaml/default.nix
index cd91d5e..cd91d5e 100644
--- a/home/fuwn/meta/tools/languages/yaml/default.nix
+++ b/home/fuwn/meta/development/languages/yaml/default.nix
diff --git a/home/fuwn/meta/tools/languages/zig/default.nix b/home/fuwn/meta/development/languages/zig/default.nix
index 821e4ab..821e4ab 100644
--- a/home/fuwn/meta/tools/languages/zig/default.nix
+++ b/home/fuwn/meta/development/languages/zig/default.nix
diff --git a/home/fuwn/meta/tools/nix/default.nix b/home/fuwn/meta/development/nix/default.nix
index fe41b1d..fe41b1d 100644
--- a/home/fuwn/meta/tools/nix/default.nix
+++ b/home/fuwn/meta/development/nix/default.nix
diff --git a/home/fuwn/meta/tools/tcp/default.nix b/home/fuwn/meta/development/tcp/default.nix
index ad648f1..ad648f1 100644
--- a/home/fuwn/meta/tools/tcp/default.nix
+++ b/home/fuwn/meta/development/tcp/default.nix
diff --git a/home/fuwn/cli/navi/default.nix b/home/fuwn/meta/development/tools/default.nix
index 5b462b5..e52d2ec 100644
--- a/home/fuwn/cli/navi/default.nix
+++ b/home/fuwn/meta/development/tools/default.nix
@@ -1,5 +1,6 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
- navi
+ clang-tools
+ highlight
];
}
diff --git a/home/fuwn/meta/calculator/default.nix b/home/fuwn/meta/education/calculator/default.nix
index a8bcc7f..a8bcc7f 100644
--- a/home/fuwn/meta/calculator/default.nix
+++ b/home/fuwn/meta/education/calculator/default.nix
diff --git a/home/fuwn/gui/anki/default.nix b/home/fuwn/meta/education/default.nix
index 8e5655c..93abfb7 100644
--- a/home/fuwn/gui/anki/default.nix
+++ b/home/fuwn/meta/education/default.nix
@@ -1,4 +1,8 @@
{ pkgs, ... }: {
+ imports = [
+ ./calculator
+ ];
+
home.packages = with pkgs; [
anki-bin
];
diff --git a/home/fuwn/meta/filesystem/default.nix b/home/fuwn/meta/filesystem/default.nix
new file mode 100644
index 0000000..42dccca
--- /dev/null
+++ b/home/fuwn/meta/filesystem/default.nix
@@ -0,0 +1,8 @@
+{ pkgs, ... }: {
+ programs.nnn.enable = true;
+
+ home.packages = with pkgs; [
+ cinnamon.nemo
+ ncdu
+ ];
+}
diff --git a/home/fuwn/meta/gaming/default.nix b/home/fuwn/meta/gaming/default.nix
index 340aebc..212d964 100644
--- a/home/fuwn/meta/gaming/default.nix
+++ b/home/fuwn/meta/gaming/default.nix
@@ -3,5 +3,7 @@
steam
lutris
gamescope
+ # xivlauncher
+ mangohud
];
}
diff --git a/home/fuwn/meta/language/codespell/default.nix b/home/fuwn/meta/language/codespell/default.nix
deleted file mode 100644
index 9018b9f..0000000
--- a/home/fuwn/meta/language/codespell/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ pkgs, ... }: {
- home.packages = with pkgs; [
- codespell
- ];
-}
diff --git a/home/fuwn/meta/language/default.nix b/home/fuwn/meta/language/default.nix
index 3a48e40..d1fa5b1 100644
--- a/home/fuwn/meta/language/default.nix
+++ b/home/fuwn/meta/language/default.nix
@@ -1,5 +1,7 @@
-_: {
- imports = [
- ./codespell
+{ pkgs, ... }: {
+ home.packages = with pkgs; [
+ codespell
+ jiten
+ tagainijisho
];
}
diff --git a/home/fuwn/meta/audio/default.nix b/home/fuwn/meta/multimedia/audio/default.nix
index 8768f34..73376fb 100644
--- a/home/fuwn/meta/audio/default.nix
+++ b/home/fuwn/meta/multimedia/audio/default.nix
@@ -1,6 +1,12 @@
{ pkgs, ... }: {
+ imports = [
+ ./spotify
+ ];
+
home.packages = with pkgs; [
+ cava
blueberry
+ spotify
pavucontrol
];
}
diff --git a/home/fuwn/meta/spotify/default.nix b/home/fuwn/meta/multimedia/audio/spotify/default.nix
index 034edb9..034edb9 100644
--- a/home/fuwn/meta/spotify/default.nix
+++ b/home/fuwn/meta/multimedia/audio/spotify/default.nix
diff --git a/home/fuwn/meta/multimedia/default.nix b/home/fuwn/meta/multimedia/default.nix
new file mode 100644
index 0000000..d775e21
--- /dev/null
+++ b/home/fuwn/meta/multimedia/default.nix
@@ -0,0 +1,11 @@
+{ pkgs, ... }: {
+ imports = [
+ ./audio
+ ./image
+ ./video
+ ];
+
+ home.packages = with pkgs; [
+ blender
+ ];
+}
diff --git a/home/fuwn/meta/image/default.nix b/home/fuwn/meta/multimedia/image/default.nix
index 38c92e8..b6c23bf 100644
--- a/home/fuwn/meta/image/default.nix
+++ b/home/fuwn/meta/multimedia/image/default.nix
@@ -1,5 +1,6 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
+ ahoviewer
nsxiv
viewnior
feh
diff --git a/home/fuwn/meta/anime/default.nix b/home/fuwn/meta/multimedia/video/anime/default.nix
index 75f6bb8..75f6bb8 100644
--- a/home/fuwn/meta/anime/default.nix
+++ b/home/fuwn/meta/multimedia/video/anime/default.nix
diff --git a/home/fuwn/meta/video/default.nix b/home/fuwn/meta/multimedia/video/default.nix
index 17d91b7..c55db9a 100644
--- a/home/fuwn/meta/video/default.nix
+++ b/home/fuwn/meta/multimedia/video/default.nix
@@ -1,4 +1,8 @@
{ pkgs, ... }: {
+ imports = [
+ ./anime
+ ];
+
home.packages = with pkgs; [
yt-dlp
clapper
diff --git a/home/fuwn/meta/rice/btop/default.nix b/home/fuwn/meta/rice/btop/default.nix
deleted file mode 100644
index d483420..0000000
--- a/home/fuwn/meta/rice/btop/default.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{ pkgs, ... }: {
- programs.btop.enable = true;
-}
diff --git a/home/fuwn/meta/rice/cpufetch/default.nix b/home/fuwn/meta/rice/cpufetch/default.nix
deleted file mode 100644
index b045b4a..0000000
--- a/home/fuwn/meta/rice/cpufetch/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ pkgs, ... }: {
- home.packages = with pkgs; [
- cpufetch
- ];
-}
diff --git a/home/fuwn/meta/rice/default.nix b/home/fuwn/meta/rice/default.nix
index 333be98..25ae26c 100644
--- a/home/fuwn/meta/rice/default.nix
+++ b/home/fuwn/meta/rice/default.nix
@@ -1,10 +1,15 @@
-_: {
+{ pkgs, ... }: {
imports = [
./bottom
- ./btop
- ./cpufetch
+ ./glances
./fastfetch
- ./iotop
- ./pywal
+ ];
+
+ programs.btop.enable = true;
+ programs.pywal.enable = true;
+
+ home.packages = with pkgs; [
+ cpufetch
+ iotop
];
}
diff --git a/home/fuwn/meta/rice/glances/default.nix b/home/fuwn/meta/rice/glances/default.nix
new file mode 100644
index 0000000..cda5a63
--- /dev/null
+++ b/home/fuwn/meta/rice/glances/default.nix
@@ -0,0 +1,828 @@
+{ pkgs, ... }: {
+ home.packages = with pkgs; [
+ glances
+ ];
+
+ xdg.configFile."glances/glances.conf".text = ''
+ ##############################################################################
+ # Globals Glances parameters
+ ##############################################################################
+
+ [global]
+ # Stats refresh rate (default is a minimum of 2 seconds)
+ # Can be overwrite by the -t <sec> option
+ # It is also possible to overwrite it in each plugin sections
+ refresh=0
+ # Does Glances should check if a newer version is available on PyPI ?
+ check_update=true
+ # History size (maximum number of values)
+ # Default is 1200 values (~1h with the default refresh rate)
+ history_size=1200
+ # Set the way Glances should display the date (default is %Y-%m-%d %H:%M:%S %Z)
+ #strftime_format="%Y-%m-%d %H:%M:%S %Z"
+ # Define external directory for loading additional plugins
+ # The layout follows the glances standard for plugin definitions
+ #plugin_dir=/home/user/dev/plugins
+
+ ##############################################################################
+ # User interface
+ ##############################################################################
+
+ [outputs]
+ # Options for all UIs
+ #--------------------
+ # Separator in the Curses and WebUI interface (between top and others plugins)
+ separator=True
+ # Set the the Curses and WebUI interface left menu plugin list (comma-separated)
+ #left_menu=network,wifi,connections,ports,diskio,fs,irq,folders,raid,smart,sensors,now
+ # Limit the number of processes to display (in the WebUI)
+ max_processes_display=25
+ # Options for WebUI
+ #------------------
+ # Set URL prefix for the WebUI and the API
+ # Example: url_prefix=/glances/ => http://localhost/glances/
+ # Note: The final / is mandatory
+ # Default is no prefix (/)
+ #url_prefix=/glances/
+ # Set root path for WebUI statics files
+ # Why ? On Debian system, WebUI statics files are not provided.
+ # You can download it in a specific folder
+ # thanks to https://github.com/nicolargo/glances/issues/2021
+ # then configure this folder with the webui_root_path key
+ # Default is folder where glances_restfull_api.py is hosted
+ #webui_root_path=
+ # CORS options
+ # Comma separated list of origins that should be permitted to make cross-origin requests.
+ # Default is *
+ #cors_origins=*
+ # Indicate that cookies should be supported for cross-origin requests.
+ # Default is True
+ #cors_credentials=True
+ # Comma separated list of HTTP methods that should be allowed for cross-origin requests.
+ # Default is *
+ #cors_methods=*
+ # Comma separated list of HTTP request headers that should be supported for cross-origin requests.
+ # Default is *
+ #cors_headers=*
+
+ ##############################################################################
+ # Plugins
+ ##############################################################################
+
+ [quicklook]
+ # Set to true to disable a plugin
+ # Note: you can also disable it from the command line (see --disable-plugin <plugin_name>)
+ disable=False
+ # Stats list (default is cpu,mem,load)
+ # Available stats are: cpu,mem,load,swap
+ list=cpu,mem,load
+ # Graphical bar char used in the terminal user interface (default is |)
+ bar_char=|
+ # Define CPU, MEM and SWAP thresholds in %
+ cpu_careful=50
+ cpu_warning=70
+ cpu_critical=90
+ mem_careful=50
+ mem_warning=70
+ mem_critical=90
+ swap_careful=50
+ swap_warning=70
+ swap_critical=90
+ # Source: http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages
+ # With 1 CPU core, the load should be lower than 1.00 ~ 100%
+ load_careful=70
+ load_warning=100
+ load_critical=500
+
+ [system]
+ # This plugin display the first line in the Glances UI with:
+ # Hostname / Operating system name / Architecture information
+ # Set to true to disable a plugin
+ disable=False
+ # Default refresh rate is 60 seconds
+ #refresh=60
+ # System information to display (a string where {key} will be replaced by the value)
+ # Available information are: hostname, os_name, os_version, os_arch, linux_distro, platform
+ #system_info_msg= | My {os_name} system |
+
+ [cpu]
+ disable=False
+ # See https://scoutapm.com/blog/slow_server_flow_chart
+ #
+ # I/O wait percentage should be lower than 1/# (# = Logical CPU cores)
+ # Leave commented to just use the default config:
+ # Careful=1/#*100-20% / Warning=1/#*100-10% / Critical=1/#*100
+ #iowait_careful=30
+ #iowait_warning=40
+ #iowait_critical=50
+ #
+ # Total % is 100 - idle
+ total_careful=65
+ total_warning=75
+ total_critical=85
+ total_log=True
+ #
+ # Default values if not defined: 50/70/90 (except for iowait)
+ user_careful=50
+ user_warning=70
+ user_critical=90
+ user_log=False
+ #user_critical_action=echo {{user}} {{value}} {{max}} > /tmp/cpu.alert
+ #
+ system_careful=50
+ system_warning=70
+ system_critical=90
+ system_log=False
+ #
+ steal_careful=50
+ steal_warning=70
+ steal_critical=90
+ #steal_log=True
+ #
+ # Context switch limit (core / second)
+ # Leave commented to just use the default config critical is 50000*(Logical CPU cores)
+ #ctx_switches_careful=10000
+ #ctx_switches_warning=12000
+ #ctx_switches_critical=14000
+
+ [percpu]
+ disable=False
+ # Define the maximum number of CPU displayed at a time
+ # If the number of CPU is higher than the one configured in max_cpu_display then:
+ # - display top 'max_cpu_display' (sorted by CPU consumption)
+ # - a last line will be added with the mean of all other CPUs
+ max_cpu_display=4
+ # Define CPU thresholds in %
+ # Default values if not defined: 50/70/90
+ user_careful=50
+ user_warning=70
+ user_critical=90
+ iowait_careful=50
+ iowait_warning=70
+ iowait_critical=90
+ system_careful=50
+ system_warning=70
+ system_critical=90
+
+ [gpu]
+ disable=False
+ # Default processor values if not defined: 50/70/90
+ proc_careful=50
+ proc_warning=70
+ proc_critical=90
+ # Default memory values if not defined: 50/70/90
+ mem_careful=50
+ mem_warning=70
+ mem_critical=90
+ # Temperature
+ temperature_careful=60
+ temperature_warning=70
+ temperature_critical=80
+
+ [mem]
+ disable=False
+ # Define RAM thresholds in %
+ # Default values if not defined: 50/70/90
+ careful=50
+ #careful_action_repeat=echo {{percent}} >> /tmp/memory.alert
+ warning=70
+ critical=90
+
+ [memswap]
+ disable=False
+ # Define SWAP thresholds in %
+ # Default values if not defined: 50/70/90
+ careful=50
+ warning=70
+ critical=90
+
+ [load]
+ disable=False
+ # Define LOAD thresholds
+ # Value * number of cores
+ # Default values if not defined: 0.7/1.0/5.0 per number of cores
+ # Source: http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages
+ # http://www.linuxjournal.com/article/9001
+ careful=0.7
+ warning=1.0
+ critical=5.0
+ #log=False
+
+ [network]
+ disable=False
+ # Default bitrate thresholds in % of the network interface speed
+ # Default values if not defined: 70/80/90
+ rx_careful=70
+ rx_warning=80
+ rx_critical=90
+ tx_careful=70
+ tx_warning=80
+ tx_critical=90
+ # Define the list of hidden network interfaces (comma-separated regexp)
+ hide=docker.*,lo
+ # Define the list of wireless network interfaces to be show (comma-separated)
+ #show=docker.*
+ # Automatically hide interface not up (default is False)
+ #hide_no_up=True
+ # Automatically hide interface with no IP address (default is False)
+ #hide_no_ip=True
+ # It is possible to overwrite the bitrate thresholds per interface
+ # WLAN 0 Default limits (in bits per second aka bps) for interface bitrate
+ #wlan0_rx_careful=4000000
+ #wlan0_rx_warning=5000000
+ #wlan0_rx_critical=6000000
+ #wlan0_rx_log=True
+ #wlan0_tx_careful=700000
+ #wlan0_tx_warning=900000
+ #wlan0_tx_critical=1000000
+ #wlan0_tx_log=True
+ # Alias for network interface name
+ #alias=wlp2s0:WIFI
+
+ [ip]
+ # Disable display of private IP address
+ disable=False
+ # Configure the online service where public IP address information will be downloaded
+ # - public_disabled: Disable public IP address information (set to True for offline platform)
+ # - public_refresh_interval: Refresh interval between to calls to the online service
+ # - public_api: URL of the API (the API should return an JSON object)
+ # - public_username: Login for the online service (if needed)
+ # - public_password: Password for the online service (if needed)
+ # - public_field: Field name of the public IP address in onlibe service JSON message
+ # - public_template: Template to build the public message
+ #
+ # Example for IPLeak service:
+ # public_api=https://ipv4.ipleak.net/json/
+ # public_field=ip
+ # public_template={ip} {continent_name}/{country_name}/{city_name}
+ #
+ public_disabled=True
+ public_refresh_interval=300
+ public_api=https://ipv4.ipleak.net/json/
+ #public_username=<myname>
+ #public_password=<mysecret>
+ public_field=ip
+ public_template={continent_name}/{country_name}/{city_name}
+
+ [connections]
+ # Display additional information about TCP connections
+ # This plugin is disabled by default because it consumes lots of CPU
+ disable=False
+ # nf_conntrack thresholds in %
+ nf_conntrack_percent_careful=70
+ nf_conntrack_percent_warning=80
+ nf_conntrack_percent_critical=90
+
+ [wifi]
+ disable=False
+ # Define SIGNAL thresholds in dBm (lower is better...)
+ # Based on: http://serverfault.com/questions/501025/industry-standard-for-minimum-wifi-signal-strength
+ careful=-65
+ warning=-75
+ critical=-85
+
+ [diskio]
+ disable=False
+ # Define the list of hidden disks (comma-separated regexp)
+ #hide=sda2,sda5,loop.*
+ hide=loop.*,/dev/loop.*
+ # Define the list of disks to be show (comma-separated)
+ #show=sda.*
+ # Alias for sda1 and sdb1
+ #alias=sda1:SystemDisk,sdb1:DataDisk
+
+ [fs]
+ disable=False
+ # Define the list of file system to hide (comma-separated regexp)
+ hide=/boot.*,.*/snap.*
+ # Define the list of file system to show (comma-separated regexp)
+ #show=/,/srv
+ # Define filesystem space thresholds in %
+ # Default values if not defined: 50/70/90
+ # It is also possible to define per mount point value
+ # Example: /_careful=40
+ careful=50
+ warning=70
+ critical=90
+ # Allow additional file system types (comma-separated FS type)
+ #allow=shm
+ # Alias for root file system
+ #alias=/:Root
+
+ [irq]
+ # Documentation: https://glances.readthedocs.io/en/latest/aoa/irq.html
+ # This plugin is disabled by default
+ disable=True
+
+ [folders]
+ # Documentation: https://glances.readthedocs.io/en/latest/aoa/folders.html
+ disable=False
+ # Define a folder list to monitor
+ # The list is composed of items (list_#nb <= 10)
+ # An item is defined by:
+ # * path: absolute path
+ # * careful: optional careful threshold (in MB)
+ # * warning: optional warning threshold (in MB)
+ # * critical: optional critical threshold (in MB)
+ # * refresh: interval in second between two refreshes
+ #folder_1_path=/tmp
+ #folder_1_careful=2500
+ #folder_1_warning=3000
+ #folder_1_critical=3500
+ #folder_1_refresh=60
+ #folder_2_path=/home/nicolargo/Videos
+ #folder_2_warning=17000
+ #folder_2_critical=20000
+ #folder_3_path=/nonexisting
+ #folder_4_path=/root
+
+ [cloud]
+ # Documentation: https://glances.readthedocs.io/en/latest/aoa/cloud.html
+ # This plugin is disabled by default
+ disable=True
+
+ [raid]
+ # Documentation: https://glances.readthedocs.io/en/latest/aoa/raid.html
+ # This plugin is disabled by default
+ disable=True
+
+ [smart]
+ # Documentation: https://glances.readthedocs.io/en/latest/aoa/smart.html
+ # This plugin is disabled by default
+ disable=True
+
+ [hddtemp]
+ disable=False
+ # Define hddtemp server IP and port (default is 127.0.0.1 and 7634 (TCP))
+ host=127.0.0.1
+ port=7634
+
+ [sensors]
+ # Documentation: https://glances.readthedocs.io/en/latest/aoa/sensors.html
+ disable=False
+ # Set the refresh multiplicator for the sensors
+ # By default refresh every Glances refresh * 3 (increase to reduce CPU consumption)
+ #refresh=3
+ # Hide some sensors (comma separated list of regexp)
+ hide=unknown.*
+ # Show only the following sensors (comma separated list of regexp)
+ #show=CPU.*
+ # Sensors core thresholds (in Celsius...)
+ # Default values are grabbed from the system
+ #temperature_core_careful=45
+ #temperature_core_warning=65
+ #temperature_core_critical=80
+ # Temperatures threshold in °C for hddtemp
+ # Default values if not defined: 45/52/60
+ temperature_hdd_careful=45
+ temperature_hdd_warning=52
+ temperature_hdd_critical=60
+ # Battery threshold in %
+ battery_careful=80
+ battery_warning=90
+ battery_critical=95
+ # Fan speed threashold in RPM
+ #fan_speed_careful=100
+ # Sensors alias
+ #alias=core 0:CPU Core 0,core 1:CPU Core 1
+
+ [processcount]
+ disable=False
+ # If you want to change the refresh rate of the processing list, please uncomment:
+ #refresh=10
+
+ [processlist]
+ disable=False
+ # Sort key: if not defined, the sort is automatically done by Glances (recommended)
+ # Should be one of the following:
+ # cpu_percent, memory_percent, io_counters, name, cpu_times, username
+ #sort_key=memory_percent
+ # Define CPU/MEM (per process) thresholds in %
+ # Default values if not defined: 50/70/90
+ cpu_careful=50
+ cpu_warning=70
+ cpu_critical=90
+ mem_careful=50
+ mem_warning=70
+ mem_critical=90
+ #
+ # Nice priorities range from -20 to 19.
+ # Configure nice levels using a comma-separated list.
+ #
+ # Nice: Example 1, non-zero is warning (default behavior)
+ nice_warning=-20,-19,-18,-17,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
+ #
+ # Nice: Example 2, low priority processes escalate from careful to critical
+ #nice_careful=1,2,3,4,5,6,7,8,9
+ #nice_warning=10,11,12,13,14
+ #nice_critical=15,16,17,18,19
+ #
+ # Define the list of processes to export using:
+ # a comma-separated list of Glances filter
+ #export=.*firefox.*,pid:1234
+
+ [ports]
+ disable=False
+ # Interval in second between two scans
+ # Ports scanner plugin configuration
+ refresh=30
+ # Set the default timeout (in second) for a scan (can be overwritten in the scan list)
+ timeout=3
+ # If port_default_gateway is True, add the default gateway on top of the scan list
+ port_default_gateway=True
+ #
+ # Define the scan list (1 < x < 255)
+ # port_x_host (name or IP) is mandatory
+ # port_x_port (TCP port number) is optional (if not set, use ICMP)
+ # port_x_description is optional (if not set, define to host:port)
+ # port_x_timeout is optional and overwrite the default timeout value
+ # port_x_rtt_warning is optional and defines the warning threshold in ms
+ #
+ #port_1_host=192.168.0.1
+ #port_1_port=80
+ #port_1_description=Home Box
+ #port_1_timeout=1
+ #port_2_host=www.free.fr
+ #port_2_description=My ISP
+ #port_3_host=www.google.com
+ #port_3_description=Internet ICMP
+ #port_3_rtt_warning=1000
+ #port_4_description=Internet Web
+ #port_4_host=www.google.com
+ #port_4_port=80
+ #port_4_rtt_warning=1000
+ #
+ # Define Web (URL) monitoring list (1 < x < 255)
+ # web_x_url is the URL to monitor (example: http://my.site.com/folder)
+ # web_x_description is optional (if not set, define to URL)
+ # web_x_timeout is optional and overwrite the default timeout value
+ # web_x_rtt_warning is optional and defines the warning respond time in ms (approximately)
+ #
+ #web_1_url=https://blog.nicolargo.com
+ #web_1_description=My Blog
+ #web_1_rtt_warning=3000
+ #web_2_url=https://github.com
+ #web_3_url=http://www.google.fr
+ #web_3_description=Google Fr
+ #web_4_url=https://blog.nicolargo.com/nonexist
+ #web_4_description=Intranet
+
+ [containers]
+ disable=False
+ # Only show specific containers (comma-separated list of container name or regular expression)
+ # Comment this line to display all containers (default configuration)
+ ; show=telegraf
+ # Hide some containers (comma-separated list of container name or regular expression)
+ # Comment this line to display all containers (default configuration)
+ ; hide=telegraf
+ # Define the maximum docker size name (default is 20 chars)
+ max_name_size=20
+ ; cpu_careful=50
+ # Thresholds for CPU and MEM (in %)
+ ; cpu_warning=70
+ ; cpu_critical=90
+ ; mem_careful=20
+ ; mem_warning=50
+ ; mem_critical=70
+ #
+ # Per container thresholds
+ ; containername_cpu_careful=10
+ ; containername_cpu_warning=20
+ ; containername_cpu_critical=30
+ #
+ # By default, Glances only display running containers
+ # Set the following key to True to display all containers
+ all=False
+ # Define Podman sock
+ ; podman_sock=unix:///run/user/1000/podman/podman.sock
+
+ [amps]
+ # AMPs configuration are defined in the bottom of this file
+ disable=False
+
+ [alert]
+ disable=False
+ # Maximum number of events to display (default is 10 events)
+ ;max_events=10
+ # Minimum duration for an event to be taken into account (default is 6 seconds)
+ ;min_duration=6
+ # Minimum time between two events of the same type (default is 6 seconds)
+ # This is used to avoid too many alerts for the same event
+ # Events will be merged
+ ;min_interval=6
+
+ ##############################################################################
+ # Client/server
+ ##############################################################################
+
+ [serverlist]
+ # Define the static servers list
+ #server_1_name=localhost
+ #server_1_alias=My local PC
+ #server_1_port=61209
+ #server_2_name=localhost
+ #server_2_port=61235
+ #server_3_name=192.168.0.17
+ #server_3_alias=Another PC on my network
+ #server_3_port=61209
+ #server_4_name=pasbon
+ #server_4_port=61237
+
+ [passwords]
+ # Define the passwords list related to the [serverlist] section
+ # Syntax: host=password
+ # Where: host is the hostname
+ # password is the clear password
+ # Additionally (and optionally) a default password could be defined
+ #localhost=abc
+ #default=defaultpassword
+ #
+ # Define the path of the local '.pwd' file (default is system one)
+ #local_password_path=~/.config/glances
+
+ ##############################################################################
+ # Exports
+ ##############################################################################
+
+ [graph]
+ # Configuration for the --export graph option
+ # Set the path where the graph (.svg files) will be created
+ # Can be overwrite by the --graph-path command line option
+ path=/tmp
+ # It is possible to generate the graphs automatically by setting the
+ # generate_every to a non zero value corresponding to the seconds between
+ # two generation. Set it to 0 to disable graph auto generation.
+ generate_every=0
+ # See following configuration keys definitions in the Pygal lib documentation
+ # http://pygal.org/en/stable/documentation/index.html
+ width=800
+ height=600
+ style=DarkStyle
+
+ [influxdb]
+ # !!!
+ # Will be DEPRECATED in future release.
+ # Please have a look on the new influxdb2 export module (compatible with InfluxDB 1.8.x and 2.x)
+ # !!!
+ # Configuration for the --export influxdb option
+ # https://influxdb.com/
+ host=localhost
+ port=8086
+ protocol=http
+ user=root
+ password=root
+ db=glances
+ # Prefix will be added for all measurement name
+ # Ex: prefix=foo
+ # => foo.cpu
+ # => foo.mem
+ # You can also use dynamic values
+ #prefix=foo
+ # Following tags will be added for all measurements
+ # You can also use dynamic values.
+ # Note: hostname and name (for process) are always added as a tag
+ #tags=foo:bar,spam:eggs,domain:`domainname`
+
+ [influxdb2]
+ # Configuration for the --export influxdb2 option
+ # https://influxdb.com/
+ host=localhost
+ port=8086
+ protocol=http
+ org=nicolargo
+ bucket=glances
+ token=EjFUTWe8U-MIseEAkaVIgVnej_TrnbdvEcRkaB1imstW7gapSqy6_6-8XD-yd51V0zUUpDy-kAdVD1purDLuxA==
+ # Set the interval between two exports (in seconds)
+ # If the interval is set to 0, the Glances refresh time is used (default behavor)
+ #interval=0
+ # Prefix will be added for all measurement name
+ # Ex: prefix=foo
+ # => foo.cpu
+ # => foo.mem
+ # You can also use dynamic values
+ #prefix=foo
+ # Following tags will be added for all measurements
+ # You can also use dynamic values.
+ # Note: hostname and name (for process) are always added as a tag
+ #tags=foo:bar,spam:eggs,domain:`domainname`
+
+ [cassandra]
+ # Configuration for the --export cassandra option
+ # Also works for the ScyllaDB
+ # https://influxdb.com/ or http://www.scylladb.com/
+ host=localhost
+ port=9042
+ protocol_version=3
+ keyspace=glances
+ replication_factor=2
+ # If not define, table name is set to host key
+ table=localhost
+ # If not define, username and password will not be used
+ #username=cassandra
+ #password=password
+
+ [opentsdb]
+ # Configuration for the --export opentsdb option
+ # http://opentsdb.net/
+ host=localhost
+ port=4242
+ #prefix=glances
+ #tags=foo:bar,spam:eggs
+
+ [statsd]
+ # Configuration for the --export statsd option
+ # https://github.com/etsy/statsd
+ host=localhost
+ port=8125
+ #prefix=glances
+
+ [elasticsearch]
+ # Configuration for the --export elasticsearch option
+ # Data are available via the ES RESTful API. ex: URL/<index>/cpu
+ # https://www.elastic.co
+ scheme=http
+ host=localhost
+ port=9200
+ index=glances
+
+ [riemann]
+ # Configuration for the --export riemann option
+ # http://riemann.io
+ host=localhost
+ port=5555
+
+ [rabbitmq]
+ # Configuration for the --export rabbitmq option
+ host=localhost
+ port=5672
+ user=guest
+ password=guest
+ queue=glances_queue
+ #protocol=amqps
+
+ [mqtt]
+ # Configuration for the --export mqtt option
+ host=localhost
+ # Overwrite device name in the topic
+ #devicename=localhost
+ port=8883
+ tls=false
+ user=guest
+ password=guest
+ topic=glances
+ topic_structure=per-metric
+ callback_api_version=2
+
+ [couchdb]
+ # Configuration for the --export couchdb option
+ # https://www.couchdb.org
+ host=localhost
+ port=5984
+ db=glances
+ user=admin
+ password=admin
+
+ [mongodb]
+ # Configuration for the --export mongodb option
+ # https://www.mongodb.com
+ host=localhost
+ port=27017
+ db=glances
+ user=root
+ password=example
+
+ [kafka]
+ # Configuration for the --export kafka option
+ # http://kafka.apache.org/
+ host=localhost
+ port=9092
+ topic=glances
+ #compression=gzip
+ # Tags will be added for all events
+ #tags=foo:bar,spam:eggs
+ # You can also use dynamic values
+ #tags=hostname:`hostname -f`
+
+ [zeromq]
+ # Configuration for the --export zeromq option
+ # http://www.zeromq.org
+ # Use * to bind on all interfaces
+ host=*
+ port=5678
+ # Glances envelopes the stats in a publish message with two frames:
+ # - First frame containing the following prefix (STRING)
+ # - Second frame with the Glances plugin name (STRING)
+ # - Third frame with the Glances plugin stats (JSON)
+ prefix=G
+
+ [prometheus]
+ # Configuration for the --export prometheus option
+ # https://prometheus.io
+ # Create a Prometheus exporter listening on localhost:9091 (default configuration)
+ # Metric are exporter using the following name:
+ # <prefix>_<plugin>_<stats>{labelkey:labelvalue}
+ # Note: You should add this exporter to your Prometheus server configuration:
+ # scrape_configs:
+ # - job_name: 'glances_exporter'
+ # scrape_interval: 5s
+ # static_configs:
+ # - targets: ['localhost:9091']
+ #
+ # Labels will be added for all measurements (default is src:glances)
+ # labels=foo:bar,spam:eggs
+ # You can also use dynamic values
+ # labels=system:`uname -s`
+ #
+ host=localhost
+ port=9091
+ #prefix=glances
+ labels=src:glances
+
+ [restful]
+ # Configuration for the --export restful option
+ # Example, export to http://localhost:6789/
+ host=localhost
+ port=6789
+ protocol=http
+ path=/
+
+ [graphite]
+ # Configuration for the --export graphite option
+ # https://graphiteapp.org/
+ host=localhost
+ port=2003
+ # Prefix will be added for all measurement name
+ prefix=glances
+ # System name added between the prefix and the stats
+ # By default, system_name = FQDN
+ #system_name=mycomputer
+
+ ##############################################################################
+ # AMPS
+ # * enable: Enable (true) or disable (false) the AMP
+ # * regex: Regular expression to filter the process(es)
+ # * refresh: The AMP is executed every refresh seconds
+ # * one_line: (optional) Force (if true) the AMP to be displayed in one line
+ # * command: (optional) command to execute when the process is detected (thk to the regex)
+ # * countmin: (optional) minimal number of processes
+ # A warning will be displayed if number of process < count
+ # * countmax: (optional) maximum number of processes
+ # A warning will be displayed if number of process > count
+ # * <foo>: Others variables can be defined and used in the AMP script
+ ##############################################################################
+
+ [amp_dropbox]
+ # Use the default AMP (no dedicated AMP Python script)
+ # Check if the Dropbox daemon is running
+ # Every 3 seconds, display the 'dropbox status' command line
+ enable=false
+ regex=.*dropbox.*
+ refresh=3
+ one_line=false
+ command=dropbox status
+ countmin=1
+
+ [amp_python]
+ # Use the default AMP (no dedicated AMP Python script)
+ # Monitor all the Python scripts
+ # Alert if more than 20 Python scripts are running
+ enable=false
+ regex=.*python.*
+ refresh=3
+ countmax=20
+
+ [amp_conntrack]
+ # Use && separator for multiple commands
+ # If the regex key is not defined, the AMP will be executed every refresh second
+ # and the process count will not be displayed (countmin and countmax will be ignore)
+ enable=false
+ refresh=30
+ one_line=false
+ command=sysctl net.netfilter.nf_conntrack_count && sysctl net.netfilter.nf_conntrack_max
+
+ [amp_nginx]
+ # Use the NGinx AMP
+ # Nginx status page should be enable (https://easyengine.io/tutorials/nginx/status-page/)
+ enable=false
+ regex=\/usr\/sbin\/nginx
+ refresh=60
+ one_line=false
+ status_url=http://localhost/nginx_status
+
+ [amp_systemd]
+ # Use the Systemd AMP
+ enable=false
+ regex=\/lib\/systemd\/systemd
+ refresh=30
+ one_line=true
+ systemctl_cmd=/bin/systemctl --plain
+
+ [amp_systemv]
+ # Use the Systemv AMP
+ enable=false
+ regex=\/sbin\/init
+ refresh=30
+ one_line=true
+ service_cmd=/usr/bin/service --status-all
+ '';
+}
diff --git a/home/fuwn/meta/rice/iotop/default.nix b/home/fuwn/meta/rice/iotop/default.nix
deleted file mode 100644
index a219adc..0000000
--- a/home/fuwn/meta/rice/iotop/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ pkgs, ... }: {
- home.packages = with pkgs; [
- iotop
- ];
-}
diff --git a/home/fuwn/meta/scripts/default.nix b/home/fuwn/meta/scripts/default.nix
new file mode 100644
index 0000000..58851ea
--- /dev/null
+++ b/home/fuwn/meta/scripts/default.nix
@@ -0,0 +1,13 @@
+{ pkgs, ... }:
+let
+ scriptDir = ./scripts;
+ generateScripts = builtins.listToAttrs (builtins.map
+ (name: {
+ name = name;
+ value = pkgs.writeShellScriptBin name (builtins.readFile "${scriptDir}/${name}");
+ })
+ (builtins.attrNames (builtins.readDir scriptDir)));
+in
+{
+ home.packages = builtins.attrValues generateScripts;
+}
diff --git a/home/fuwn/meta/scripts/scripts/fim b/home/fuwn/meta/scripts/scripts/fim
index ad21cd4..d1be1c5 100755
--- a/home/fuwn/meta/scripts/scripts/fim
+++ b/home/fuwn/meta/scripts/scripts/fim
@@ -1,6 +1,20 @@
# Finger "blog" updater
HOST="sina"
+
+while getopts "f" opt; do
+ case ${opt} in
+ f) FORMAT=true ;;
+ *) FORMAT=false ;;
+ esac
+done
+
+shift $((OPTIND - 1))
+
PROFILE="/var/lib/docker/volumes/gigi-data/_data/${1:-fuwn}"
-ssh -t "${HOST}" "vim -c 'autocmd BufWritePost * !fmt -w 80 % > %.tmp && mv %.tmp %' '${PROFILE}'"
+if [ -n "${FORMAT}" ]; then
+ ssh -t "${HOST}" "vim -c 'autocmd BufWritePost * !fmt -w 80 % > %.tmp && mv %.tmp %' '${PROFILE}'"
+else
+ ssh -t "${HOST}" "vim '${PROFILE}'"
+fi
diff --git a/home/fuwn/meta/scripts/scripts/tup-init b/home/fuwn/meta/scripts/scripts/tup-init
new file mode 100644
index 0000000..387fa53
--- /dev/null
+++ b/home/fuwn/meta/scripts/scripts/tup-init
@@ -0,0 +1,25 @@
+tup init >/dev/null
+
+cat <<EOF >Tupfile
+# Input & Output Directories
+SOURCE_DIRECTORY = .
+INCLUDE_DIRECTORY = .
+BUILD_DIRECTORY = build
+
+# Compiler Configuration
+CC = clang++
+CC_EXTENSION = cc
+CC_FLAGS = -std=c++23 -I \$(INCLUDE_DIRECTORY) -Weverything -Wno-padded -Wno-c++98-compat -MMD -Wno-c++98-compat-pedantic
+
+# Clang-tidy Configuration
+CLANG_TIDY_CHECKS = '-*,bugprone-*,clang-analyzer-*,concurrency-*,cppcoreguildelines-*,llvm-*,misc-*,modernize-*,performance-*,portability-*,readability-*,-readability-magic-numbers,-llvm-header-guard,-bugprone-suspicious-include,-readability-function-cognitive-complexity,-bugprone-exception-escape'
+CLANG_TIDY_FLAGS = -checks=\$(CLANG_TIDY_CHECKS) -warnings-as-errors=* -quiet
+
+NAME = $(basename "$(pwd)")
+
+: foreach \$(SOURCE_DIRECTORY)/*.\$(CC_EXTENSION) \$(INCLUDE_DIRECTORY)/*.hh |> clang-format -i %f |>
+: foreach \$(SOURCE_DIRECTORY)/*.\$(CC_EXTENSION) |> clang-tidy \$(CLANG_TIDY_FLAGS) %f -- \$(CC_FLAGS) |>
+: foreach \$(SOURCE_DIRECTORY)/*.\$(CC_EXTENSION) |> ^j^ \$(CC) \$(CC_FLAGS) -MF \$(BUILD_DIRECTORY)/%B.d -c %f -o %o |> \$(BUILD_DIRECTORY)/%B.o | \$(BUILD_DIRECTORY)/%B.d
+: \$(BUILD_DIRECTORY)/*.o ^test.o |> \$(CC) %f -o %o |> \$(BUILD_DIRECTORY)/\$(NAME)
+: \$(BUILD_DIRECTORY)/*.o ^main.o |> \$(CC) %f -o %o |> \$(BUILD_DIRECTORY)/\$(NAME)_test
+EOF
diff --git a/home/fuwn/cli/meta/smolnet/bollux/default.nix b/home/fuwn/meta/smolnet/bollux/default.nix
index 2079052..2079052 100644
--- a/home/fuwn/cli/meta/smolnet/bollux/default.nix
+++ b/home/fuwn/meta/smolnet/bollux/default.nix
diff --git a/home/fuwn/cli/meta/smolnet/bollux/fix_lesskey_nag.patch b/home/fuwn/meta/smolnet/bollux/fix_lesskey_nag.patch
index 329b886..329b886 100644
--- a/home/fuwn/cli/meta/smolnet/bollux/fix_lesskey_nag.patch
+++ b/home/fuwn/meta/smolnet/bollux/fix_lesskey_nag.patch
diff --git a/home/fuwn/cli/meta/smolnet/default.nix b/home/fuwn/meta/smolnet/default.nix
index 8cb44a6..0843979 100644
--- a/home/fuwn/cli/meta/smolnet/default.nix
+++ b/home/fuwn/meta/smolnet/default.nix
@@ -5,6 +5,7 @@
home.packages = with pkgs; [
amfora
+ geopard
gmni
phetch
];
diff --git a/home/fuwn/meta/bitwarden/default.nix b/home/fuwn/meta/system/bitwarden/default.nix
index 2ac188f..2ac188f 100644
--- a/home/fuwn/meta/bitwarden/default.nix
+++ b/home/fuwn/meta/system/bitwarden/default.nix
diff --git a/home/fuwn/meta/system/default.nix b/home/fuwn/meta/system/default.nix
new file mode 100644
index 0000000..6698785
--- /dev/null
+++ b/home/fuwn/meta/system/default.nix
@@ -0,0 +1,10 @@
+{ pkgs, ... }: {
+ imports = [
+ ./bitwarden
+ ./terminal
+ ];
+
+ home.packages = with pkgs; [
+ # bpftrace
+ ];
+}
diff --git a/home/fuwn/gui/cool-retro-term/default.nix b/home/fuwn/meta/system/terminal/default.nix
index e53937b..6375e0a 100644
--- a/home/fuwn/gui/cool-retro-term/default.nix
+++ b/home/fuwn/meta/system/terminal/default.nix
@@ -1,5 +1,11 @@
{ pkgs, ... }: {
+ imports = [
+ ./kitty
+ ./foot
+ ];
+
home.packages = with pkgs; [
cool-retro-term
+ # warp-terminal
];
}
diff --git a/home/fuwn/meta/system/terminal/foot/default.nix b/home/fuwn/meta/system/terminal/foot/default.nix
new file mode 100644
index 0000000..ed0820b
--- /dev/null
+++ b/home/fuwn/meta/system/terminal/foot/default.nix
@@ -0,0 +1,49 @@
+{ pkgs, ... }: {
+ programs.foot = {
+ enable = true;
+
+ settings = {
+ main = {
+ font = "SF Mono:size=12";
+ font-bold = "SF Mono:size=12:weight=medium";
+ font-italic = "SF Mono:size=12:slant=italic";
+ font-bold-italic = "SF Mono:size=12:slant=italic:weight=medium";
+
+ # Font Fine-tuning
+ # vertical-letter-offset = -1;
+ # line-height = 13;
+ # underline-thickness = 0.6;
+ # underline-offset = 2;
+
+ # Styling
+ bold-text-in-bright = "palette-based";
+ pad = "15x15"; # "24x24"
+
+ # Misc.
+ resize-delay-ms = "0";
+ term = "xterm";
+ # locked-title = "yes";
+ selection-target = "both";
+ # workers = "0";
+ # utmp-helper = "none";
+ };
+
+ url.osc8-underline = "always";
+ bell.urgent = "yes";
+ # scrollback.lines = "1000";
+ mouse.hide-when-typing = "yes";
+ key-bindings.clipboard-paste = "Control+v Control+Shift+v";
+
+ tweak = {
+ scaling-filter = "none";
+ # font-monospace-warn = "no";
+ # grapheme-width-method = "wcswidth";
+ # grapheme-shaping = "no";
+ };
+
+ colors = {
+ alpha = "0.8";
+ };
+ };
+ };
+}
diff --git a/home/fuwn/meta/system/terminal/kitty/default.nix b/home/fuwn/meta/system/terminal/kitty/default.nix
new file mode 100644
index 0000000..18f08ff
--- /dev/null
+++ b/home/fuwn/meta/system/terminal/kitty/default.nix
@@ -0,0 +1,112 @@
+{ pkgs, ... }: {
+ programs.kitty = {
+ enable = true;
+
+ settings = {
+ # Font
+ # MesloLGS NF
+ font_family = "SF Mono Light";
+ bold_font = "SF Mono Medium";
+ italic_font = "SF Mono Light Italic";
+ bold_italic_font = "SF Mono Medium Italic";
+ font_size = 12; # 13.5
+
+ # Optimisation
+ resize_debounce_time = 0;
+ sync_to_monitor = true;
+ repaint_delay = 0;
+ input_delay = 0;
+
+ # Style
+ background_opacity = "0.8";
+ window_border_width = 0;
+ window_margin_width = 15;
+ hide_window_decorations = "titlebar-only";
+ include = "~/.cache/wal/colors-kitty.conf";
+
+ # Cursor
+ cursor_blink_interval = 0; # 0.5
+ cursor_stop_blinking_after = 0; # 15
+
+ # Other
+ scrollback_pager = "less +G -R";
+ wheel_scroll_multiplier = 5;
+ click_interval = "0.5";
+ select_by_word_characters = ":@-./_~?&=%+#";
+ mouse_hide_wait = 0;
+ enabled_layouts = "*";
+ remember_window_size = false;
+ macos_option_as_alt = false;
+ allow_remote_control = true;
+ confirm_os_window_close = 0;
+ term = "xterm-kitty";
+
+ # Bell
+ visual_bell_duration = 0;
+ enable_audio_bell = false;
+
+ # URL Handling
+ open_url_modifiers = "ctrl+shift";
+ open_url_with = "default";
+ };
+
+ extraConfig = ''
+ # Clipboard
+ map super+v paste_from_clipboard
+ map ctrl+shift+s paste_from_selection
+ map super+c copy_to_clipboard
+ map shift+insert paste_from_selection
+
+ # Scrolling
+ map ctrl+shift+up scroll_line_up
+ map ctrl+shift+down scroll_line_down
+ map ctrl+shift+k scroll_line_up
+ map ctrl+shift+j scroll_line_down
+ map ctrl+shift+page_up scroll_page_up
+ map ctrl+shift+page_down scroll_page_down
+ map ctrl+shift+home scroll_home
+ map ctrl+shift+end scroll_end
+ map ctrl+shift+h show_scrollback
+
+ # Window management
+ map super+n new_os_window
+ map super+w close_window
+ map ctrl+shift+enter new_window
+ map ctrl+shift+] next_window
+ map ctrl+shift+[ previous_window
+ map ctrl+shift+f move_window_forward
+ map ctrl+shift+b move_window_backward
+ map ctrl+shift+` move_window_to_top
+ map ctrl+shift+1 first_window
+ map ctrl+shift+2 second_window
+ map ctrl+shift+3 third_window
+ map ctrl+shift+4 fourth_window
+ map ctrl+shift+5 fifth_window
+ map ctrl+shift+6 sixth_window
+ map ctrl+shift+7 seventh_window
+ map ctrl+shift+8 eighth_window
+ map ctrl+shift+9 ninth_window
+ map ctrl+shift+0 tenth_window
+
+ # Tab management
+ map ctrl+shift+right next_tab
+ map ctrl+shift+left previous_tab
+ map ctrl+shift+t new_tab
+ map ctrl+shift+q close_tab
+ map ctrl+shift+l next_layout
+ map ctrl+shift+. move_tab_forward
+ map ctrl+shift+, move_tab_backward
+
+ # Miscellaneous
+ map ctrl+shift+up increase_font_size
+ map ctrl+shift+down decrease_font_size
+ map ctrl+shift+backspace restore_font_size
+
+ map ctrl+/ launch --allow-remote-control kitty +kitten kitty_search/search.py @active-kitty-window-id
+ '';
+ };
+
+ # read the file, but remove the line with shell_integration
+ # xdg.configFile."kitty/kitty.conf".text =
+ # builtins.map (line: if builtins.match "shell_integration" line then "" else line) (builtins.split "\n" (builtins.readFile ~/.config/kitty/kitty.conf));
+}