4 Commits

Author SHA1 Message Date
Hadi 56341489e8 Launchers are now toggles
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-14 12:30:52 +02:00
Hadi 0846223efd update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-14 12:01:08 +02:00
Hadi e58bb947d3 Autologin, unlock the keyring with the luks password
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-14 10:43:40 +02:00
Hadi 9baaaa2bfe Less GUI, more TUI
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-14 10:32:14 +02:00
11 changed files with 200 additions and 176 deletions
Generated
+85 -146
View File
@@ -2,14 +2,15 @@
"nodes": { "nodes": {
"awesome-wallpapers": { "awesome-wallpapers": {
"inputs": { "inputs": {
"git-hooks": "git-hooks",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1781031430, "lastModified": 1786698894,
"narHash": "sha256-AcJTjMpnffSJ6bpTDEaGcJ/31rOOYDgGr/2L2yH7H0Y=", "narHash": "sha256-yZHP8Tqn/ClxwGCTsZnyT5HRFGRY0eeMWtlK43qJbtc=",
"owner": "anotherhadi", "owner": "anotherhadi",
"repo": "awesome-wallpapers", "repo": "awesome-wallpapers",
"rev": "0147e19341039fd3b01d36c3cbaa9571105fb777", "rev": "deda1a9868be6f516405115068f3ed5038395340",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -180,21 +181,6 @@
"type": "github" "type": "github"
} }
}, },
"crane": {
"locked": {
"lastModified": 1780532242,
"narHash": "sha256-D+BsdpxmtUwtqGoY0IXPhHgTlmqgcZKCEo1oMyn7ep0=",
"owner": "ipetkov",
"repo": "crane",
"rev": "59a82a1222dd3b2080b5cc52a1a2e8d5f1b77f37",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"default-creds": { "default-creds": {
"inputs": { "inputs": {
"bun2nix": "bun2nix_2", "bun2nix": "bun2nix_2",
@@ -267,6 +253,22 @@
} }
}, },
"flake-compat_2": { "flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_3": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1777699697, "lastModified": 1777699697,
@@ -358,27 +360,6 @@
} }
}, },
"flake-parts_5": { "flake-parts_5": {
"inputs": {
"nixpkgs-lib": [
"nvf",
"nixpkgs"
]
},
"locked": {
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_6": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"stylix", "stylix",
@@ -418,6 +399,28 @@
"git-hooks": { "git-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"nixpkgs": [
"awesome-wallpapers",
"nixpkgs"
]
},
"locked": {
"lastModified": 1784288435,
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"git-hooks_2": {
"inputs": {
"flake-compat": "flake-compat_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
@@ -460,11 +463,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781783441, "lastModified": 1786621994,
"narHash": "sha256-v7rAVyX0DGAYqei3FxWPDJLqrzJrEsue2DVBEDApxQo=", "narHash": "sha256-ygaOQQFGv3QHcNMoGBor22Dm5GouzmwYucrUfX6oTxQ=",
"owner": "oxcl", "owner": "oxcl",
"repo": "nix-flake-helium-browser", "repo": "nix-flake-helium-browser",
"rev": "aabc12cf6518480d83b2b5d06d2eecf86a25273f", "rev": "810640b8a7aa504d3962ec8bb857f8252aad6547",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -621,11 +624,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1782030356, "lastModified": 1786249295,
"narHash": "sha256-h4WpMr455AfRub0FXBaon6Vcpe0waUyJ4GivIW6oyd4=", "narHash": "sha256-Y2mSr+HLKYoOsjiackgilxkHXe8gkJ3z4hFFekjQX3I=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "3017088b49efd404f78e3b104f553b97e4af786b", "rev": "14d55b8069119e3b88da7aa2f6c97f86a2cd3cd6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -642,11 +645,11 @@
"website-builder": "website-builder" "website-builder": "website-builder"
}, },
"locked": { "locked": {
"lastModified": 1781774207, "lastModified": 1784997863,
"narHash": "sha256-pUHOn5uRbY1yOdeBgfm/UpkVkN9YrLUxl7jZnN1emyo=", "narHash": "sha256-oTMag4I9MW3bstuOKqzc0F1OqxO49lLa9jkSkRe3EqA=",
"owner": "rasmus-kirk", "owner": "rasmus-kirk",
"repo": "nixarr", "repo": "nixarr",
"rev": "67952a6e79a298396e909d35f7ee35b23f754c43", "rev": "282ce99b31d52d72cca281e3d26d3dd267946800",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -660,11 +663,11 @@
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_7"
}, },
"locked": { "locked": {
"lastModified": 1782166108, "lastModified": 1786528975,
"narHash": "sha256-/EtnQBcKbsaCAGQ5VRcplrHRkR4ryqyLMpBfkVuG9Xw=", "narHash": "sha256-8KuasCs+mVQ7WbLONUf/QB7NZeQvovyXRyxAj4nOOzY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "875776f0252fcb8618bb948640a0d1f7a5b362be", "rev": "3e7edd9afe17e45521300e041c65de3015f4a302",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -675,16 +678,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1774106199, "lastModified": 1786535285,
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=", "narHash": "sha256-rG5HKMAgAhMgydvKGtco6rqTxRq4EDZQCx9USLvVqYw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655", "rev": "9f78f44a87948854445dae0b6bf82b2e87e4efb5",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-26.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -736,11 +739,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1786384358, "lastModified": 1786599213,
"narHash": "sha256-RzPPiWeUtuvymnpuEWsdtzli5w4kjZs49FqEs3/1u+I=", "narHash": "sha256-yNJd40f11EzXBjSByCB7IPpeFFAdeoSKKM67dGkfFoU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2fcb964de67fcf60b43471c55d5d99e61a9ccb5a", "rev": "0e251e24a4f24e036a084b6b4b2d2491af4167f4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -845,11 +848,11 @@
}, },
"nixpkgs_8": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1786430034, "lastModified": 1786535285,
"narHash": "sha256-Vux08kA5PICwS2sViCMfwVLAHNoH8TkKAeBo25LjpMI=", "narHash": "sha256-rG5HKMAgAhMgydvKGtco6rqTxRq4EDZQCx9USLvVqYw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "70cc4559b10a6062b05ff1af17e0add065ccaed9", "rev": "9f78f44a87948854445dae0b6bf82b2e87e4efb5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -861,40 +864,15 @@
}, },
"nixpkgs_9": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1781216227, "lastModified": 1784796856,
"narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=", "narHash": "sha256-vwxWgF+Gj276WznzGb1LxGsK/39HaQwgQXiU3EkC844=",
"owner": "nixos", "rev": "e2587caef70cea85dd97d7daab492899902dbf5d",
"repo": "nixpkgs", "type": "tarball",
"rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0", "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1040357.e2587caef70c/nixexprs.tar.xz"
"type": "github"
}, },
"original": { "original": {
"owner": "nixos", "type": "tarball",
"ref": "nixos-26.05", "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
"repo": "nixpkgs",
"type": "github"
}
},
"notashelf-tuigreet": {
"inputs": {
"crane": "crane",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1781718334,
"narHash": "sha256-Ova9OQemsGRmg2b22W9HQSRhtjwS1C9mLUtkYqEjyRs=",
"owner": "NotAShelf",
"repo": "tuigreet",
"rev": "a75f469d51a11b35f9766153d35d15c535b268a6",
"type": "github"
},
"original": {
"owner": "NotAShelf",
"repo": "tuigreet",
"type": "github"
} }
}, },
"nur": { "nur": {
@@ -905,11 +883,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1786612668, "lastModified": 1786700839,
"narHash": "sha256-drUMW/BXNEKe5wzw2yM7ea/g7CnObPcwRNVp9ap0yQk=", "narHash": "sha256-DtB4Byceo3tyyZNsmwuM0YZSO76VaUaGMSxVjdwYQyw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nur", "repo": "nur",
"rev": "a5ef785fafbf01c361372d7dc8e0f1591aeeacd3", "rev": "3c7c14b16718033c171babfd3020006c05d724d8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -966,18 +944,16 @@
}, },
"nvf": { "nvf": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_3",
"flake-parts": "flake-parts_5",
"mnw": "mnw", "mnw": "mnw",
"nixpkgs": "nixpkgs_9", "nixpkgs": "nixpkgs_9"
"systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1781997110, "lastModified": 1786433999,
"narHash": "sha256-6D6xtYN5t1kZGNd69eMZsRBkgX5Df1roErn/kFR1C+A=", "narHash": "sha256-rbOp2g0UCYt+evTnCGCKBQGqSMfwX4RTXneNbeHqOAk=",
"owner": "notashelf", "owner": "notashelf",
"repo": "nvf", "repo": "nvf",
"rev": "320f60b97075a58d38b90fc5e39f478421dbd38a", "rev": "a213644cadd5f90bf18b0c409f08f282b30e55e3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1011,7 +987,7 @@
"blog": "blog", "blog": "blog",
"default-creds": "default-creds", "default-creds": "default-creds",
"disko": "disko", "disko": "disko",
"git-hooks": "git-hooks", "git-hooks": "git-hooks_2",
"helium-browser": "helium-browser", "helium-browser": "helium-browser",
"home-manager": "home-manager", "home-manager": "home-manager",
"iknowyou": "iknowyou", "iknowyou": "iknowyou",
@@ -1021,7 +997,6 @@
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_8", "nixpkgs": "nixpkgs_8",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"notashelf-tuigreet": "notashelf-tuigreet",
"nur": "nur", "nur": "nur",
"nvf": "nvf", "nvf": "nvf",
"nvf-config": "nvf-config", "nvf-config": "nvf-config",
@@ -1029,27 +1004,6 @@
"stylix": "stylix" "stylix": "stylix"
} }
}, },
"rust-overlay": {
"inputs": {
"nixpkgs": [
"notashelf-tuigreet",
"nixpkgs"
]
},
"locked": {
"lastModified": 1780975129,
"narHash": "sha256-428T1pLXnbVeUgZx2wWEkbvl3ZORjras34ANZ3ACp5A=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "fe64e6b409dc513274d2941f8da13bbd0fdcf44e",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -1057,11 +1011,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781943681, "lastModified": 1786629091,
"narHash": "sha256-NFHmA7H47adqiyp+0iEOyZOQhmigDqA/NBAlf4imB6U=", "narHash": "sha256-gkig4nPi1CWc4Z50GBsjE4ygSE7hMpl/TwID2an2Cck=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "420f8d2e9882911f65cfac15cc706f639ba96cca", "rev": "a8627b21b9107c5711c96b84f32a9a4b3d45295f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1077,13 +1031,13 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_6", "flake-parts": "flake-parts_5",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nur": "nur_2", "nur": "nur_2",
"systems": "systems_5", "systems": "systems_4",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes", "tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux", "tinted-tmux": "tinted-tmux",
@@ -1164,21 +1118,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-kitty": { "tinted-kitty": {
"flake": false, "flake": false,
"locked": { "locked": {
-4
View File
@@ -40,10 +40,6 @@
url = "github:nix-community/disko"; url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
notashelf-tuigreet = {
url = "github:NotAShelf/tuigreet";
inputs.nixpkgs.follows = "nixpkgs";
};
helium-browser = { helium-browser = {
url = "github:oxcl/nix-flake-helium-browser"; url = "github:oxcl/nix-flake-helium-browser";
inputs.nixpkgs.follows = "nixpkgs-unstable"; inputs.nixpkgs.follows = "nixpkgs-unstable";
+4 -7
View File
@@ -2,18 +2,15 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
vlc # Video player vlc # Video player
obsidian # Note taking app obsidian # Note taking app
textpieces # Manipulate texts
resources # Resource monitor
gnome-clocks # Clocks app
gnome-text-editor # Basic graphic text editor
pinta # Image editor pinta # Image editor
switcheroo # Convert images between different formats
onlyoffice-desktopeditors # Office suite onlyoffice-desktopeditors # Office suite
blanket # Listen to different sounds blanket # Listen to different sounds
thunar # File explorer
signal-desktop # Messaging app signal-desktop # Messaging app
ticktick # Todo app ticktick # Todo app
# Backup
thunar
gnome-text-editor
]; ];
home.persistence."/persist".directories = [ home.persistence."/persist".directories = [
+1 -1
View File
@@ -84,7 +84,7 @@
go.enable = true; go.enable = true;
markdown = { markdown = {
enable = true; enable = true;
format.type = ["prettierd"]; format.type = ["prettier"];
extensions = { extensions = {
markview-nvim = { markview-nvim = {
enable = true; enable = true;
+11 -10
View File
@@ -1,9 +1,11 @@
{pkgs, ...}: { {
pkgs,
pkgs-unstable,
...
}: {
home.packages = with pkgs; [ home.packages = with pkgs; [
# I love TUIs # I love TUIs
caligula # User-friendly, lightweight TUI for disk imaging (ISO, USB BOOT) caligula # User-friendly, lightweight TUI for disk imaging (ISO, USB BOOT)
dysk # A terminal-based disk usage analyzer
wikiman # Offline search engine for manual pages (arch wiki, tldr)
tealdeer # Fast tldr client tealdeer # Fast tldr client
sttr # A minimalist CyberChef-like, cross-platform CLI app for performing various operations on strings sttr # A minimalist CyberChef-like, cross-platform CLI app for performing various operations on strings
slides # A terminal-based presentation tool that allows you to create and deliver presentations directly from the command line slides # A terminal-based presentation tool that allows you to create and deliver presentations directly from the command line
@@ -11,17 +13,15 @@
tabiew # A terminal-based CSV viewer and manipulator tabiew # A terminal-based CSV viewer and manipulator
jless # A pager for JSON jless # A pager for JSON
pkgs.nur.repos.anotherhadi.usbguard-tui # TUI for managing USBGuard rules pkgs.nur.repos.anotherhadi.usbguard-tui # TUI for managing USBGuard rules
pkgs.nur.repos.anotherhadi.sheets # Terminal based spreadsheet tool
pkgs.nur.repos.anotherhadi.settuings # Terminal based settings (wifi, bluetooth, audio, ...) pkgs.nur.repos.anotherhadi.settuings # Terminal based settings (wifi, bluetooth, audio, ...)
rainfrog # TODO: To test pkgs.nur.repos.anotherhadi.fztea # Flipper Zero from the terminal
posting # TODO: To test pkgs.nur.repos.anotherhadi.monitui # Edit hyprland's monitor configuration
newsboat # TODO: To test dua # Tool to conveniently learn about the disk usage of directories
dooit # TODO: To test mcat # Cat command for documents / images / videos and more
lazyjournal
# I love CLIs
httpie # Command-line HTTP client, a user-friendly cURL replacement httpie # Command-line HTTP client, a user-friendly cURL replacement
gh # GitHub gh # GitHub
gh-dash # A terminal dashboard for GitHub
figlet # Transform text into ASCII art figlet # Transform text into ASCII art
pastel # Command-line tool to generate, analyze, convert and manipulate colors pastel # Command-line tool to generate, analyze, convert and manipulate colors
imagemagick # Image manipulation tool imagemagick # Image manipulation tool
@@ -35,6 +35,7 @@
pipes pipes
cmatrix cmatrix
fastfetch fastfetch
smassh # typing test, 10fastfinger like
]; ];
home.persistence."/persist".directories = [".config/gh" ".config/gh-dash"]; home.persistence."/persist".directories = [".config/gh" ".config/gh-dash"];
+49
View File
@@ -0,0 +1,49 @@
{
pkgs,
lib,
...
}: let
# wikiman ships without the ArchWiki/tldr-pages databases (too heavy to
# bundle). These are fetched declaratively from wikiman's own release
# snapshots and baked into a wrapped `wikiman` so `-S` shows them as
# installed offline, no manual `make source-*` step required.
# To refresh: bump the release tag/date below and update the hashes
# (`nix hash file --sri <downloaded file>`).
#
# Download size (compressed): ~17M ArchWiki + ~3.4M tldr-pages.
# Store size (unpacked): ~239M ArchWiki + ~147M tldr-pages (~385M total).
archWikiSrc = pkgs.fetchurl {
url = "https://github.com/filiparag/wikiman/releases/download/2.14.1/arch-wiki_20260810.source.tar.xz";
hash = "sha256-82aiDvwZ07m9CfBVYIDLSUpWds4QxUbCbCPmQ26j1XI=";
};
tldrPagesSrc = pkgs.fetchurl {
url = "https://github.com/filiparag/wikiman/releases/download/2.14.1/tldr-pages_20260810.source.tar.xz";
hash = "sha256-2vdszVMImSN1UF+OepKdj1v+lsG2jM68gcpnUJyqddw=";
};
# Real files (not symlinks): wikiman's source-detection does `find -type f`
# on this dir, which doesn't match symlinks, so `pkgs.symlinkJoin` alone
# won't work here.
data = pkgs.runCommand "wikiman-data" {nativeBuildInputs = [pkgs.xz];} ''
mkdir -p $out
cp -r ${pkgs.wikiman}/share $out/share
chmod -R u+w $out/share
tar xf ${archWikiSrc} -C $out --strip-components=1
tar xf ${tldrPagesSrc} -C $out --strip-components=1
'';
wikiman-full = pkgs.symlinkJoin {
name = "wikiman-full";
paths = [pkgs.wikiman];
nativeBuildInputs = [pkgs.makeWrapper];
postBuild = ''
rm $out/bin/wikiman
makeWrapper ${pkgs.wikiman}/bin/.wikiman-wrapped $out/bin/wikiman \
--prefix PATH : "${lib.makeBinPath [pkgs.fzf pkgs.ripgrep pkgs.gawk pkgs.w3m pkgs.coreutils pkgs.parallel]}" \
--set conf_sys_usr "${data}"
'';
meta.mainProgram = "wikiman";
};
in {
home.packages = [wikiman-full]; # Offline search engine for manual pages, ArchWiki and tldr
}
+20 -6
View File
@@ -6,16 +6,17 @@
}: let }: let
colors = config.lib.stylix.colors; colors = config.lib.stylix.colors;
scripts = import ../waybar/scripts.nix {inherit pkgs config;}; scripts = import ../waybar/scripts.nix {inherit pkgs config;};
border-size = config.theme.border-size;
mkMenu = menu: let mkMenu = menu: let
configFile = pkgs.writeText "config.yaml" ( configFile = pkgs.writeText "config.yaml" (
lib.generators.toYAML {} { lib.generators.toYAML {} {
anchor = "bottom-right"; anchor = "top";
border = "#${colors.base0D}80"; border = "#${colors.base0D}EE";
background = "#${colors.base01}EE"; border_width = border-size;
background = "#${colors.base01}FF";
color = "#${colors.base05}"; color = "#${colors.base05}";
margin_right = 15; margin_top = 0;
margin_bottom = 15;
rows_per_column = 5; rows_per_column = 5;
inherit menu; inherit menu;
@@ -23,8 +24,21 @@
); );
in in
pkgs.writeShellScriptBin "menu" '' pkgs.writeShellScriptBin "menu" ''
# Toggle: if wlr-which-key is already open, closing it is all this run should do.
if ${pkgs.procps}/bin/pkill -x wlr-which-key; then
exit 0
fi
exec ${lib.getExe pkgs.wlr-which-key} ${configFile} exec ${lib.getExe pkgs.wlr-which-key} ${configFile}
''; '';
tofi-drun-toggle = pkgs.writeShellScriptBin "tofi-drun-toggle" ''
# tofi-drun is a distinct process name from the plain "tofi" binary
# used by the emoji/icon/clipboard pickers, so this can't close those.
if ${pkgs.procps}/bin/pkill -x tofi-drun; then
exit 0
fi
exec ${pkgs.tofi}/bin/tofi-drun
'';
in { in {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
"$mod" = "SUPER"; "$mod" = "SUPER";
@@ -121,7 +135,7 @@ in {
# Quick launch # Quick launch
"$mod,RETURN, exec, ${pkgs.ghostty}/bin/ghostty +new-window" # Ghostty (terminal, via daemon D-Bus) "$mod,RETURN, exec, ${pkgs.ghostty}/bin/ghostty +new-window" # Ghostty (terminal, via daemon D-Bus)
"$mod,E, exec, ${pkgs.ghostty}/bin/ghostty +new-window -e elio" # Elio "$mod,E, exec, ${pkgs.ghostty}/bin/ghostty +new-window -e elio" # Elio
"$mod, SPACE, exec, ${pkgs.tofi}/bin/tofi-drun" # Launcher "$mod, SPACE, exec, ${lib.getExe tofi-drun-toggle}" # Launcher (toggle)
"$mod, N, exec, ${pkgs.swaynotificationcenter}/bin/swaync-client -t" # Notification center "$mod, N, exec, ${pkgs.swaynotificationcenter}/bin/swaync-client -t" # Notification center
# Windows # Windows
+1
View File
@@ -9,6 +9,7 @@
../../nixos/nix.nix ../../nixos/nix.nix
../../nixos/systemd-boot.nix ../../nixos/systemd-boot.nix
../../nixos/tuigreet.nix ../../nixos/tuigreet.nix
../../nixos/autologin.nix # Skip first TUIGreet login, use LUKS password to unlock the keyring
../../nixos/users.nix ../../nixos/users.nix
../../nixos/utils.nix ../../nixos/utils.nix
../../nixos/hyprland.nix ../../nixos/hyprland.nix
+1
View File
@@ -23,6 +23,7 @@
../../home/programs/tui/nix-utils ../../home/programs/tui/nix-utils
../../home/programs/tui/spotatui ../../home/programs/tui/spotatui
../../home/programs/tui/elio ../../home/programs/tui/elio
../../home/programs/tui/wikiman
../../home/programs/tui/pkgs.nix ../../home/programs/tui/pkgs.nix
## GROUPS ## GROUPS
+27
View File
@@ -0,0 +1,27 @@
# Autologin at boot: greetd starts your session directly on the first VT
{
pkgs,
config,
lib,
...
}: {
services.greetd.settings.initial_session = {
command = "${pkgs.uwsm}/bin/uwsm start -e -D Hyprland hyprland.desktop";
user = config.var.username;
};
# Needed so the LUKS passphrase entered at boot is cached in the kernel
# keyring, where pam_fde_boot_pw can retrieve it (see below).
boot.initrd.systemd.enable = true;
security.pam.services.greetd.rules.session.fde_boot_pw = {
order = 12550; # kwallet=12500, gnome_keyring=12600: must run in between
control = "optional";
modulePath = "${pkgs.pam_fde_boot_pw}/lib/security/pam_fde_boot_pw.so";
args = ["inject_for=gkr"];
};
security.pam.services.login.enableGnomeKeyring = true;
systemd.services.greetd.serviceConfig.KeyringMode = lib.mkForce "shared";
}
+1 -2
View File
@@ -1,12 +1,11 @@
{ {
pkgs, pkgs,
inputs,
config, config,
lib, lib,
... ...
}: let }: let
c = config.lib.stylix.colors; c = config.lib.stylix.colors;
tuigreet = inputs.notashelf-tuigreet.packages.${pkgs.stdenv.hostPlatform.system}.default; tuigreet = pkgs.tuigreet;
theme = lib.concatStringsSep ";" [ theme = lib.concatStringsSep ";" [
"border=#${c.base0D}" "border=#${c.base0D}"