mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-07-06 16:12:33 +02:00
Compare commits
36 Commits
v5.0.1
...
79351e46a1
| Author | SHA1 | Date | |
|---|---|---|---|
| 79351e46a1 | |||
| 3f37a26162 | |||
| e9fbdcb870 | |||
| e5d494607f | |||
| d4e4a8f9f7 | |||
| 7f54f94974 | |||
| 148b093eb4 | |||
| dd3ad203fa | |||
| 76f2982167 | |||
| 868c215895 | |||
| ceecbb858d | |||
| 9e45e35b7e | |||
| 6c2a7563d3 | |||
| 783e8fb9ff | |||
| 2878142360 | |||
| 93c36aa3ef | |||
| a195e1d2e9 | |||
| 3c13b64fec | |||
| 1e4b0f610c | |||
| c06762d636 | |||
| 1ba64e3731 | |||
| afc1928f5a | |||
| 87c258312c | |||
| 03f6cd7fe8 | |||
| 57db0eaaf6 | |||
| e14c569193 | |||
| a5e4dcddac | |||
| fd7c23055f | |||
| 4322ca33db | |||
| 9ebdaa1505 | |||
| 6a9752b74e | |||
| 48bb118da4 | |||
| ab92a39a28 | |||
| ec6abc4aba | |||
| fe781a0eed | |||
| 19609ad781 |
Generated
+301
-495
File diff suppressed because it is too large
Load Diff
@@ -13,9 +13,9 @@
|
|||||||
stylix.url = "github:danth/stylix";
|
stylix.url = "github:danth/stylix";
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
nvf.url = "github:notashelf/nvf";
|
nvf.url = "github:notashelf/nvf";
|
||||||
bun2nix.url = "github:nix-community/bun2nix";
|
notashelf-tuigreet.url = "github:NotAShelf/tuigreet";
|
||||||
usbguard-tui.url = "github:anotherhadi/usbguard-tui";
|
helium-browser.url = "github:oxcl/nix-flake-helium-browser";
|
||||||
jwt-tui.url = "github:anotherhadi/jwt-tui";
|
nur-anotherhadi.url = "github:anotherhadi/nur-packages";
|
||||||
|
|
||||||
nix-index-database = {
|
nix-index-database = {
|
||||||
url = "github:nix-community/nix-index-database";
|
url = "github:nix-community/nix-index-database";
|
||||||
@@ -37,16 +37,13 @@
|
|||||||
url = "github:Gerg-L/spicetify-nix";
|
url = "github:Gerg-L/spicetify-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Server
|
# Server
|
||||||
# FIXME: Deleted repo for now
|
|
||||||
# eleakxir.url = "github:anotherhadi/eleakxir";
|
|
||||||
nixarr.url = "github:rasmus-kirk/nixarr";
|
nixarr.url = "github:rasmus-kirk/nixarr";
|
||||||
default-creds.url = "github:anotherhadi/default-creds";
|
default-creds.url = "github:anotherhadi/default-creds";
|
||||||
blog.url = "github:anotherhadi/blog";
|
blog.url = "github:anotherhadi/blog";
|
||||||
awesome-wallpapers.url = "github:anotherhadi/awesome-wallpapers";
|
awesome-wallpapers.url = "github:anotherhadi/awesome-wallpapers";
|
||||||
iknowyou.url = "github:anotherhadi/iknowyou";
|
iknowyou.url = "github:anotherhadi/iknowyou";
|
||||||
spilltea.url = "github:anotherhadi/spilltea";
|
|
||||||
helium-browser.url = "github:oxcl/nix-flake-helium-browser";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ {
|
outputs = inputs @ {
|
||||||
@@ -64,6 +61,7 @@
|
|||||||
pkgs
|
pkgs
|
||||||
;
|
;
|
||||||
pkgs-stable = nixpkgs-stable.legacyPackages.${system};
|
pkgs-stable = nixpkgs-stable.legacyPackages.${system};
|
||||||
|
pkgs-nur-hadi = inputs.nur-anotherhadi.packages.${system};
|
||||||
};
|
};
|
||||||
merge = nixpkgs.lib.foldl nixpkgs.lib.recursiveUpdate {};
|
merge = nixpkgs.lib.foldl nixpkgs.lib.recursiveUpdate {};
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -1,16 +1,19 @@
|
|||||||
{pkgs, ...}: let
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
cursorShaders = pkgs.fetchFromGitHub {
|
cursorShaders = pkgs.fetchFromGitHub {
|
||||||
owner = "sahaj-b";
|
owner = "sahaj-b";
|
||||||
repo = "ghostty-cursor-shaders";
|
repo = "ghostty-cursor-shaders";
|
||||||
rev = "06d4e90fb5410e9c4d0b3131584060adddf89406";
|
rev = "06d4e90fb5410e9c4d0b3131584060adddf89406";
|
||||||
hash = "sha256-G/UIr1bKnxn1AcHl/4FL/jou6b7M2VeREslYVELxdmw=";
|
hash = "sha256-G/UIr1bKnxn1AcHl/4FL/jou6b7M2VeREslYVELxdmw=";
|
||||||
};
|
};
|
||||||
|
c = config.lib.stylix.colors;
|
||||||
in {
|
in {
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
TERMINAL = "ghostty";
|
TERMINAL = "ghostty";
|
||||||
TERM = "ghostty";
|
TERM = "ghostty";
|
||||||
XMODIFIERS = "@im=none";
|
|
||||||
GTK_IM_MODULE = "simple";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.ghostty = {
|
programs.ghostty = {
|
||||||
@@ -40,4 +43,24 @@ in {
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.file.".config/ilovetui/config.yaml".text = ''
|
||||||
|
colors:
|
||||||
|
base00: "#${c.base00}" # Background
|
||||||
|
base01: "#${c.base01}" # Lighter Background / Status Bars
|
||||||
|
base02: "#${c.base02}" # Selection Background
|
||||||
|
base03: "#${c.base03}" # Comments / Invisibles
|
||||||
|
base04: "#${c.base04}" # Dark Foreground / Status Bars
|
||||||
|
base05: "#${c.base05}" # Default Foreground
|
||||||
|
base06: "#${c.base06}" # Light Foreground
|
||||||
|
base07: "#${c.base07}" # Light Background
|
||||||
|
base08: "#${c.base08}" # Variables / Errors / Diff Deleted
|
||||||
|
base09: "#${c.base09}" # Integers / Constants / Booleans
|
||||||
|
base0a: "#${c.base0A}" # Classes / Warnings / Search Background
|
||||||
|
base0b: "#${c.base0B}" # Strings / Success / Diff Inserted
|
||||||
|
base0c: "#${c.base0C}" # Support / Regex / Escape Characters
|
||||||
|
base0d: "#${c.base0D}" # Functions / Methods / Headings / Accent
|
||||||
|
base0e: "#${c.base0E}" # Keywords / Storage / Diff Changed
|
||||||
|
base0f: "#${c.base0F}" # Embedded / Misc
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
{pkgs-stable, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
pkgs-stable,
|
||||||
|
pkgs-nur-hadi,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home.packages = with pkgs-stable; [
|
home.packages = with pkgs-stable; [
|
||||||
vlc # Video player
|
vlc # Video player
|
||||||
obsidian # Note taking app
|
obsidian # Note taking app
|
||||||
@@ -8,9 +13,30 @@
|
|||||||
gnome-text-editor # Basic graphic text editor
|
gnome-text-editor # Basic graphic text editor
|
||||||
ticktick # Todo app
|
ticktick # Todo app
|
||||||
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
|
||||||
signal-desktop # Messaging app
|
signal-desktop # Messaging app
|
||||||
librewolf
|
librewolf # Backup browser
|
||||||
|
|
||||||
|
# I love TUIs
|
||||||
|
caligula # User-friendly, lightweight TUI for disk imaging (ISO, USB BOOT)
|
||||||
|
browsh # A modern text-based browser that renders anything that a modern browser can. It runs in a terminal and can be used remotely over SSH
|
||||||
|
dysk # A terminal-based disk usage analyzer
|
||||||
|
wikiman # Offline search engine for manual pages (arch wiki, tldr)
|
||||||
|
tealdeer # Fast tldr client
|
||||||
|
sttr # Minimalist "cyberchef" like. Cross-platform, cli app to perform various operations on string
|
||||||
|
wiremix # Simple TUI mixer for PipeWire
|
||||||
|
pkgs.wifitui # TUI for managing wifi
|
||||||
|
pkgs-nur-hadi.usbguard-tui # TUI for managing USBGuard rules
|
||||||
|
|
||||||
|
# I love CLIs
|
||||||
|
httpie # Command-line HTTP client, a user-friendly cURL replacement
|
||||||
|
gh # GitHub
|
||||||
|
gh-dash # A terminal dashboard for GitHub
|
||||||
|
figlet # Transform text into ASCII art
|
||||||
|
pastel # Command-line tool to generate, analyze, convert and manipulate colors
|
||||||
|
imagemagick # Image manipulation tool
|
||||||
|
chafa # Image to ANSI/Unicode converter and more.
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,39 +1,48 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgs-stable,
|
pkgs-stable,
|
||||||
inputs,
|
pkgs-nur-hadi,
|
||||||
system,
|
|
||||||
}:
|
}:
|
||||||
(with pkgs-stable; [
|
(with pkgs-stable; [
|
||||||
httpie
|
# Web
|
||||||
trufflehog
|
dirb
|
||||||
sttr
|
ffuf
|
||||||
wireshark
|
katana
|
||||||
nmap
|
whatweb
|
||||||
john
|
|
||||||
|
# Hashes
|
||||||
hashcat
|
hashcat
|
||||||
metasploit
|
|
||||||
haiti
|
haiti
|
||||||
hydra
|
hydra
|
||||||
|
john
|
||||||
|
|
||||||
|
# Databases
|
||||||
|
mariadb
|
||||||
|
redis
|
||||||
|
sqlmap
|
||||||
|
nosqli
|
||||||
|
|
||||||
|
# Network
|
||||||
|
inetutils
|
||||||
|
termshark # wireshark in TUI
|
||||||
dnsrecon
|
dnsrecon
|
||||||
whois
|
whois
|
||||||
dig
|
dig
|
||||||
nosqli
|
nmap
|
||||||
jwt-cli
|
|
||||||
nuclei
|
|
||||||
caido
|
|
||||||
gobuster
|
|
||||||
dirb
|
|
||||||
ffuf
|
|
||||||
sqlmap
|
|
||||||
katana
|
|
||||||
inetutils
|
|
||||||
samba
|
samba
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
metasploit
|
||||||
|
nuclei
|
||||||
openvpn
|
openvpn
|
||||||
mariadb
|
|
||||||
redis
|
# Secrets
|
||||||
|
trufflehog
|
||||||
|
|
||||||
|
# Forensics
|
||||||
|
binwalk
|
||||||
|
])
|
||||||
|
++ (with pkgs-nur-hadi; [
|
||||||
|
spilltea
|
||||||
|
jwt-tui
|
||||||
])
|
])
|
||||||
++ [
|
|
||||||
inputs.spilltea.packages.${system}.default
|
|
||||||
inputs.jwt-tui.packages.${system}.default
|
|
||||||
]
|
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
{
|
{
|
||||||
inputs,
|
|
||||||
pkgs-stable,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
|
pkgs-stable,
|
||||||
|
pkgs-nur-hadi,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = import ./cybersecurity-packages.nix {
|
home.packages = import ./cybersecurity-packages.nix {
|
||||||
inherit pkgs pkgs-stable inputs;
|
inherit pkgs pkgs-stable pkgs-nur-hadi;
|
||||||
system = pkgs.stdenv.hostPlatform.system;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.user.tmpfiles.rules = [
|
systemd.user.tmpfiles.rules = [
|
||||||
|
|||||||
@@ -1,22 +1,18 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgs-stable,
|
pkgs-stable,
|
||||||
inputs,
|
|
||||||
system,
|
|
||||||
}:
|
}:
|
||||||
(with pkgs; [
|
(with pkgs; [
|
||||||
go
|
go
|
||||||
bun
|
|
||||||
nodejs
|
|
||||||
claude-code
|
claude-code
|
||||||
inputs.bun2nix.packages.${system}.default
|
|
||||||
])
|
])
|
||||||
++ (with pkgs-stable; [
|
++ (with pkgs-stable; [
|
||||||
|
nodejs
|
||||||
air
|
air
|
||||||
duckdb
|
duckdb
|
||||||
docker
|
docker
|
||||||
python3
|
python3
|
||||||
jq
|
jq
|
||||||
just
|
|
||||||
nix-prefetch-github
|
nix-prefetch-github
|
||||||
|
rsync
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgs-stable,
|
pkgs-stable,
|
||||||
inputs,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = import ./dev-packages.nix {
|
home.packages = import ./dev-packages.nix {inherit pkgs pkgs-stable;};
|
||||||
inherit pkgs pkgs-stable inputs;
|
|
||||||
system = pkgs.stdenv.hostPlatform.system;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,12 @@
|
|||||||
inputs,
|
inputs,
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgs-stable,
|
pkgs-stable,
|
||||||
|
pkgs-nur-hadi,
|
||||||
system,
|
system,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
devPackages = import ./dev-packages.nix {inherit pkgs pkgs-stable inputs system;};
|
devPackages = import ./dev-packages.nix {inherit pkgs pkgs-stable;};
|
||||||
cyberPackages = import ./cybersecurity-packages.nix {inherit pkgs pkgs-stable inputs system;};
|
cyberPackages = import ./cybersecurity-packages.nix {inherit pkgs pkgs-stable pkgs-nur-hadi;};
|
||||||
in {
|
in {
|
||||||
packages.${system} = {
|
packages.${system} = {
|
||||||
dev = pkgs.buildEnv {
|
dev = pkgs.buildEnv {
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
{
|
{
|
||||||
pkgs-stable,
|
pkgs-stable,
|
||||||
|
pkgs-nur-hadi,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs-stable; [
|
home.packages = with pkgs-stable; [
|
||||||
|
tty-solitaire
|
||||||
|
bastet
|
||||||
peaclock
|
peaclock
|
||||||
cbonsai
|
cbonsai
|
||||||
pipes
|
pipes
|
||||||
cmatrix
|
cmatrix
|
||||||
fastfetch
|
fastfetch
|
||||||
inputs.usbguard-tui.packages.${system}.default
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,10 @@
|
|||||||
name = "Nix 4 Cyber";
|
name = "Nix 4 Cyber";
|
||||||
url = "https://n4c.hadi.icu";
|
url = "https://n4c.hadi.icu";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "Infosec Notes - Anotherhadi";
|
||||||
|
url = "https://hadi.icu/notes";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "Cyberchef";
|
name = "Cyberchef";
|
||||||
url = "https://cyberchef.hadi.icu";
|
url = "https://cyberchef.hadi.icu";
|
||||||
@@ -31,6 +35,10 @@
|
|||||||
name = "Exploit-DB";
|
name = "Exploit-DB";
|
||||||
url = "https://exploit-db.com";
|
url = "https://exploit-db.com";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "Reverse Shell Generator";
|
||||||
|
url = "https://revshells.com";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "GTFOBins";
|
name = "GTFOBins";
|
||||||
url = "https://gtfobins.org/";
|
url = "https://gtfobins.org/";
|
||||||
|
|||||||
@@ -11,6 +11,10 @@
|
|||||||
name = "Hyprland Wiki";
|
name = "Hyprland Wiki";
|
||||||
url = "https://wiki.hypr.land";
|
url = "https://wiki.hypr.land";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "NVF Options";
|
||||||
|
url = "https://nvf.notashelf.dev/";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "Stylix Wiki";
|
name = "Stylix Wiki";
|
||||||
url = "https://nix-community.github.io/stylix/";
|
url = "https://nix-community.github.io/stylix/";
|
||||||
|
|||||||
@@ -66,6 +66,7 @@
|
|||||||
.helium.browser.layout = 3 |
|
.helium.browser.layout = 3 |
|
||||||
.helium.browser.minimal_location_bar = true |
|
.helium.browser.minimal_location_bar = true |
|
||||||
.helium.browser.show_dynamic_new_tab_button = false |
|
.helium.browser.show_dynamic_new_tab_button = false |
|
||||||
|
.helium.browser.rounded_frame = false |
|
||||||
.bookmark_bar.show_tab_groups = false |
|
.bookmark_bar.show_tab_groups = false |
|
||||||
.extensions.settings[$id] = {
|
.extensions.settings[$id] = {
|
||||||
"active_permissions": {"api": [], "explicit_host": [], "manifest_permissions": [], "scriptable_host": []},
|
"active_permissions": {"api": [], "explicit_host": [], "manifest_permissions": [], "scriptable_host": []},
|
||||||
|
|||||||
@@ -10,8 +10,6 @@ in {
|
|||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
bat
|
bat
|
||||||
ripgrep
|
ripgrep
|
||||||
tldr
|
|
||||||
witr
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Add go binaries to the PATH
|
# Add go binaries to the PATH
|
||||||
@@ -49,12 +47,14 @@ in {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
|
spt = "spotatui";
|
||||||
vim = "nvim";
|
vim = "nvim";
|
||||||
vi = "nvim";
|
vi = "nvim";
|
||||||
v = "nvim";
|
v = "nvim";
|
||||||
c = "clear";
|
c = "clear";
|
||||||
clera = "clear";
|
clera = "clear";
|
||||||
celar = "clear";
|
celar = "clear";
|
||||||
|
claer = "clear";
|
||||||
e = "exit";
|
e = "exit";
|
||||||
cd = "z";
|
cd = "z";
|
||||||
ls = "eza --icons=always --no-quotes";
|
ls = "eza --icons=always --no-quotes";
|
||||||
|
|||||||
@@ -0,0 +1,104 @@
|
|||||||
|
# Spotatui is a terminal user interface for Spotify, written in Rust. It allows you to control your Spotify playback and manage your playlists directly from the terminal.
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
c = config.lib.stylix.colors;
|
||||||
|
rgb = base: "${c."${base}-rgb-r"}, ${c."${base}-rgb-g"}, ${c."${base}-rgb-b"}";
|
||||||
|
in {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
spotatui
|
||||||
|
];
|
||||||
|
|
||||||
|
home.file.".config/spotatui/config.yml".text = ''
|
||||||
|
keybindings:
|
||||||
|
back: q
|
||||||
|
next_page: ctrl-d
|
||||||
|
previous_page: ctrl-u
|
||||||
|
jump_to_start: ctrl-a
|
||||||
|
jump_to_end: ctrl-e
|
||||||
|
jump_to_album: a
|
||||||
|
jump_to_artist_album: A
|
||||||
|
jump_to_context: o
|
||||||
|
manage_devices: d
|
||||||
|
decrease_volume: '-'
|
||||||
|
increase_volume: +
|
||||||
|
toggle_playback: space
|
||||||
|
seek_backwards: <
|
||||||
|
seek_forwards: '>'
|
||||||
|
next_track: n
|
||||||
|
previous_track: p
|
||||||
|
force_previous_track: P
|
||||||
|
help: '?'
|
||||||
|
shuffle: ctrl-s
|
||||||
|
repeat: ctrl-r
|
||||||
|
search: /
|
||||||
|
submit: enter
|
||||||
|
copy_song_url: c
|
||||||
|
copy_album_url: C
|
||||||
|
audio_analysis: v
|
||||||
|
lyrics_view: B
|
||||||
|
cover_art_view: G
|
||||||
|
add_item_to_queue: z
|
||||||
|
show_queue: Q
|
||||||
|
open_settings: alt-,
|
||||||
|
save_settings: alt-s
|
||||||
|
listening_party: ctrl-p
|
||||||
|
like_track: F
|
||||||
|
behavior:
|
||||||
|
seek_milliseconds: 5000
|
||||||
|
volume_increment: 10
|
||||||
|
volume_percent: 100
|
||||||
|
tick_rate_milliseconds: 16
|
||||||
|
enable_text_emphasis: true
|
||||||
|
show_loading_indicator: true
|
||||||
|
enforce_wide_search_bar: true
|
||||||
|
enable_global_song_count: false
|
||||||
|
disable_mouse_inputs: false
|
||||||
|
enable_discord_rpc: false
|
||||||
|
discord_rpc_client_id: null
|
||||||
|
enable_announcements: false
|
||||||
|
announcement_feed_url: null
|
||||||
|
seen_announcement_ids:
|
||||||
|
- 2026-05-19-sonos-help-wanted
|
||||||
|
- 2026-02-27-major-refactor-complete
|
||||||
|
shuffle_enabled: false
|
||||||
|
liked_icon: ♥
|
||||||
|
shuffle_icon: 🔀
|
||||||
|
repeat_track_icon: 🔂
|
||||||
|
repeat_context_icon: 🔁
|
||||||
|
playing_icon: ▶
|
||||||
|
paused_icon: ⏸
|
||||||
|
set_window_title: true
|
||||||
|
visualizer_style: Equalizer
|
||||||
|
dismissed_announcements: []
|
||||||
|
relay_server_url: wss://spotatui-party.spotatui.workers.dev/ws
|
||||||
|
stop_after_current_track: false
|
||||||
|
sidebar_width_percent: 20
|
||||||
|
playbar_height_rows: 6
|
||||||
|
library_height_percent: 30
|
||||||
|
startup_behavior: continue
|
||||||
|
disable_auto_update: true
|
||||||
|
auto_update_delay: '0'
|
||||||
|
keepawake_enabled: true
|
||||||
|
theme:
|
||||||
|
preset: Custom
|
||||||
|
active: ${rgb "base0D"}
|
||||||
|
banner: ${rgb "base0C"}
|
||||||
|
error_border: ${rgb "base08"}
|
||||||
|
error_text: ${rgb "base08"}
|
||||||
|
hint: ${rgb "base0A"}
|
||||||
|
hovered: ${rgb "base0E"}
|
||||||
|
inactive: ${rgb "base03"}
|
||||||
|
playbar_background: Reset
|
||||||
|
playbar_progress: ${rgb "base0D"}
|
||||||
|
playbar_progress_text: ${rgb "base05"}
|
||||||
|
playbar_text: Reset
|
||||||
|
selected: ${rgb "base0D"}
|
||||||
|
text: Reset
|
||||||
|
background: Reset
|
||||||
|
header: Reset
|
||||||
|
highlighted_lyrics: ${rgb "base0B"}
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -35,8 +35,6 @@ in {
|
|||||||
package = pkgs.papirus-icon-theme;
|
package = pkgs.papirus-icon-theme;
|
||||||
};
|
};
|
||||||
|
|
||||||
gtk4.theme = null;
|
|
||||||
|
|
||||||
# bookmarks for the side pane
|
# bookmarks for the side pane
|
||||||
gtk3.bookmarks = [
|
gtk3.bookmarks = [
|
||||||
"file:///home/${user}/Downloads Downloads"
|
"file:///home/${user}/Downloads Downloads"
|
||||||
|
|||||||
@@ -0,0 +1,76 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
programs.yazi = {
|
||||||
|
enable = true;
|
||||||
|
shellWrapperName = "y";
|
||||||
|
|
||||||
|
plugins = {
|
||||||
|
git = { package = pkgs.yaziPlugins.git; setup = true; };
|
||||||
|
ouch = pkgs.yaziPlugins.ouch;
|
||||||
|
piper = pkgs.yaziPlugins.piper;
|
||||||
|
convert = pkgs.yaziPlugins.convert;
|
||||||
|
"full-border" = { package = pkgs.yaziPlugins."full-border"; setup = true; };
|
||||||
|
"toggle-pane" = pkgs.yaziPlugins."toggle-pane";
|
||||||
|
"jump-to-char" = pkgs.yaziPlugins."jump-to-char";
|
||||||
|
"wl-clipboard" = pkgs.yaziPlugins."wl-clipboard";
|
||||||
|
starship = { package = pkgs.yaziPlugins.starship; setup = true; };
|
||||||
|
"batch-rename-gui" = pkgs.yaziPlugins.mkYaziPlugin {
|
||||||
|
pname = "batch-rename-gui.yazi";
|
||||||
|
version = "0-unstable-2025-07-08";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "pakhromov";
|
||||||
|
repo = "batch-rename-gui.yazi";
|
||||||
|
rev = "5c2d5aa349948b6ab405a171541faab44751f6a5";
|
||||||
|
hash = "sha256-3RviPY3WOyYi5GWXWRYMWp6VLxCe5cuJX7Kb7AyWxLE=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"command-palette" = pkgs.yaziPlugins.mkYaziPlugin {
|
||||||
|
pname = "command-palette.yazi";
|
||||||
|
version = "0-unstable-2025-07-08";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "Mr-Ples";
|
||||||
|
repo = "command-palette.yazi";
|
||||||
|
rev = "e5e61057381e2642d36ba5b9a4977c8196bc1791";
|
||||||
|
hash = "sha256-Mt1q05YgexMyHpy8qQ778jBny9f7XrftDZXjzONZVxg=";
|
||||||
|
};
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
substituteInPlace main.lua \
|
||||||
|
--replace 'line = line:gsub' 'local line = line:gsub'
|
||||||
|
cp -r . $out
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
settings.mgr.ratio = [ 1 4 3 ];
|
||||||
|
|
||||||
|
settings.plugin = {
|
||||||
|
prepend_fetchers = [
|
||||||
|
{ url = "*"; run = "git"; group = "git"; }
|
||||||
|
{ url = "*/"; run = "git"; group = "git"; }
|
||||||
|
];
|
||||||
|
prepend_previewers = [
|
||||||
|
{ url = "*.md"; run = ''piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"''; }
|
||||||
|
];
|
||||||
|
prepend_openers = [
|
||||||
|
{ url = "*.{zip,tar,gz,bz2,xz,7z,rar}"; run = "ouch"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
keymap.mgr.prepend_keymap = [
|
||||||
|
{ on = ["C"]; run = "plugin ouch"; desc = "Compress"; }
|
||||||
|
{ on = ["X"]; run = "plugin ouch --args=extract"; desc = "Extract"; }
|
||||||
|
{ on = ["c" "p"]; run = "plugin convert -- --extension='png'"; desc = "Convert to PNG"; }
|
||||||
|
{ on = ["c" "j"]; run = "plugin convert -- --extension='jpg'"; desc = "Convert to JPG"; }
|
||||||
|
{ on = ["c" "w"]; run = "plugin convert -- --extension='webp'"; desc = "Convert to WebP"; }
|
||||||
|
{ on = ["M"]; run = ''shell 'exiftool "$@" | less' --block''; desc = "Show metadata"; }
|
||||||
|
{ on = ["T"]; run = "plugin toggle-pane min-parent"; desc = "Toggle parent pane"; }
|
||||||
|
{ on = ["F"]; run = "plugin jump-to-char"; desc = "Jump to char"; }
|
||||||
|
{ on = ["Y"]; run = "plugin wl-clipboard"; desc = "Copy to clipboard (Wayland)"; }
|
||||||
|
{ on = ["B"]; run = "plugin batch-rename-gui"; desc = "Batch rename"; }
|
||||||
|
{ on = [";"]; run = "plugin command-palette"; desc = "Command palette"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [ glow ouch hexyl exiftool starship fzf ];
|
||||||
|
}
|
||||||
@@ -16,8 +16,8 @@ in {
|
|||||||
appearance = {
|
appearance = {
|
||||||
transparency = {
|
transparency = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
base = 0.85;
|
base = config.theme.active-opacity;
|
||||||
layers = 0.4;
|
layers = config.theme.inactive-opacity;
|
||||||
};
|
};
|
||||||
font.family = {
|
font.family = {
|
||||||
material = "Material Symbols Rounded";
|
material = "Material Symbols Rounded";
|
||||||
|
|||||||
@@ -58,7 +58,13 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
# shell.json is managed by home-manager (read-only symlink) but caelestia
|
# shell.json is managed by home-manager (read-only symlink) but caelestia
|
||||||
# needs to write to it at runtime: replace the symlink with a mutable copy
|
# needs to write to it at runtime: replace the symlink with a mutable copy.
|
||||||
|
# The stale .hm-backup must be removed before linkGeneration so HM can
|
||||||
|
# back up the runtime-modified shell.json without hitting a conflict.
|
||||||
|
home.activation.caelestiaCleanBackup = lib.hm.dag.entryBefore ["linkGeneration"] ''
|
||||||
|
$DRY_RUN_CMD rm -f "$HOME/.config/caelestia/shell.json.hm-backup"
|
||||||
|
'';
|
||||||
|
|
||||||
home.activation.caelestiaWritableShellConfig = lib.hm.dag.entryAfter ["linkGeneration"] ''
|
home.activation.caelestiaWritableShellConfig = lib.hm.dag.entryAfter ["linkGeneration"] ''
|
||||||
if [ -L "$HOME/.config/caelestia/shell.json" ]; then
|
if [ -L "$HOME/.config/caelestia/shell.json" ]; then
|
||||||
$DRY_RUN_CMD cp --remove-destination \
|
$DRY_RUN_CMD cp --remove-destination \
|
||||||
|
|||||||
@@ -154,6 +154,21 @@
|
|||||||
enabled = true;
|
enabled = true;
|
||||||
dangerous = false;
|
dangerous = false;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "Run in background";
|
||||||
|
icon = "play_circle";
|
||||||
|
description = "Type and run any shell command in the background";
|
||||||
|
command = [
|
||||||
|
"ghostty"
|
||||||
|
"--title=run-bg"
|
||||||
|
"-e"
|
||||||
|
"bash"
|
||||||
|
"-c"
|
||||||
|
"printf 'Run: '; read -r cmd; [ -n \"$cmd\" ] && hyprctl dispatch exec \"$cmd\""
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = false;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
dragThreshold = 50;
|
dragThreshold = 50;
|
||||||
enableDangerousActions = false;
|
enableDangerousActions = false;
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ in {
|
|||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
configType = "hyprlang";
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
systemd = {
|
systemd = {
|
||||||
enable = false;
|
enable = false;
|
||||||
@@ -123,6 +124,8 @@ in {
|
|||||||
|
|
||||||
windowrule = [
|
windowrule = [
|
||||||
"match:class .*, suppress_event maximize"
|
"match:class .*, suppress_event maximize"
|
||||||
|
"match:class helium, suppress_event fullscreen"
|
||||||
|
"match:class helium, sync_fullscreen false"
|
||||||
|
|
||||||
"match:class proton-authenticator, float on"
|
"match:class proton-authenticator, float on"
|
||||||
"match:class proton-authenticator, center on"
|
"match:class proton-authenticator, center on"
|
||||||
@@ -131,6 +134,10 @@ in {
|
|||||||
"match:class protonvpn-app, float on"
|
"match:class protonvpn-app, float on"
|
||||||
"match:class protonvpn-app, center on"
|
"match:class protonvpn-app, center on"
|
||||||
"match:class protonvpn-app, size 500 400"
|
"match:class protonvpn-app, size 500 400"
|
||||||
|
|
||||||
|
"match:title run-bg, float on"
|
||||||
|
"match:title run-bg, center on"
|
||||||
|
"match:title run-bg, size 700 80"
|
||||||
];
|
];
|
||||||
|
|
||||||
misc = {
|
misc = {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
../../nixos/home-manager.nix
|
../../nixos/home-manager.nix
|
||||||
../../nixos/nix.nix
|
../../nixos/nix.nix
|
||||||
../../nixos/systemd-boot.nix
|
../../nixos/systemd-boot.nix
|
||||||
../../nixos/sddm.nix
|
../../nixos/tuigreet.nix
|
||||||
../../nixos/users.nix
|
../../nixos/users.nix
|
||||||
../../nixos/utils.nix
|
../../nixos/utils.nix
|
||||||
../../nixos/hyprland.nix
|
../../nixos/hyprland.nix
|
||||||
|
|||||||
@@ -15,6 +15,8 @@
|
|||||||
../../home/programs/nixy
|
../../home/programs/nixy
|
||||||
../../home/programs/nightshift
|
../../home/programs/nightshift
|
||||||
../../home/programs/nix-utils
|
../../home/programs/nix-utils
|
||||||
|
../../home/programs/spotatui
|
||||||
|
../../home/programs/yazi
|
||||||
|
|
||||||
../../home/programs/group/basic-apps.nix
|
../../home/programs/group/basic-apps.nix
|
||||||
../../home/programs/group/cybersecurity.nix
|
../../home/programs/group/cybersecurity.nix
|
||||||
|
|||||||
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
keyboardLayout = "fr";
|
keyboardLayout = "fr";
|
||||||
|
|
||||||
location = "Paris";
|
|
||||||
timeZone = "Europe/Paris";
|
timeZone = "Europe/Paris";
|
||||||
defaultLocale = "en_US.UTF-8";
|
defaultLocale = "en_US.UTF-8";
|
||||||
extraLocale = "fr_FR.UTF-8";
|
extraLocale = "fr_FR.UTF-8";
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ nixpkgs.lib.nixosSystem {
|
|||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.nixarr.nixosModules.default
|
inputs.nixarr.nixosModules.default
|
||||||
# inputs.eleakxir.nixosModules.eleakxir
|
|
||||||
inputs.nix-index-database.nixosModules.default
|
inputs.nix-index-database.nixosModules.default
|
||||||
inputs.default-creds.nixosModules.default
|
inputs.default-creds.nixosModules.default
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
../../home/programs/git/lazygit.nix
|
../../home/programs/git/lazygit.nix
|
||||||
../../home/programs/nixy
|
../../home/programs/nixy
|
||||||
../../home/programs/nix-utils
|
../../home/programs/nix-utils
|
||||||
|
../../home/programs/yazi
|
||||||
|
|
||||||
../../home/programs/group/dev.nix
|
../../home/programs/group/dev.nix
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
keyboardLayout = "fr";
|
keyboardLayout = "fr";
|
||||||
|
|
||||||
location = "Paris";
|
|
||||||
timeZone = "Europe/Paris";
|
timeZone = "Europe/Paris";
|
||||||
defaultLocale = "en_US.UTF-8";
|
defaultLocale = "en_US.UTF-8";
|
||||||
extraLocale = "fr_FR.UTF-8";
|
extraLocale = "fr_FR.UTF-8";
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
{
|
{config, ...}: {
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
# Mostly system related configuration
|
# Mostly system related configuration
|
||||||
../../nixos/audio.nix
|
../../nixos/audio.nix
|
||||||
@@ -11,7 +7,7 @@
|
|||||||
../../nixos/home-manager.nix
|
../../nixos/home-manager.nix
|
||||||
../../nixos/nix.nix
|
../../nixos/nix.nix
|
||||||
../../nixos/systemd-boot.nix
|
../../nixos/systemd-boot.nix
|
||||||
../../nixos/sddm.nix
|
../../nixos/tuigreet.nix
|
||||||
../../nixos/usbguard.nix
|
../../nixos/usbguard.nix
|
||||||
../../nixos/users.nix
|
../../nixos/users.nix
|
||||||
../../nixos/utils.nix
|
../../nixos/utils.nix
|
||||||
@@ -35,6 +31,7 @@
|
|||||||
allow id 1d6b:0003 serial "0000:00:14.0" name "xHCI Host Controller" hash "prM+Jby/bFHCn2lNjQdAMbgc6tse3xVx+hZwjOPHSdQ=" parent-hash "rV9bfLq7c2eA4tYjVjwO4bxhm+y6GgZpl9J60L0fBkY=" with-interface 09:00:00 with-connect-type ""
|
allow id 1d6b:0003 serial "0000:00:14.0" name "xHCI Host Controller" hash "prM+Jby/bFHCn2lNjQdAMbgc6tse3xVx+hZwjOPHSdQ=" parent-hash "rV9bfLq7c2eA4tYjVjwO4bxhm+y6GgZpl9J60L0fBkY=" with-interface 09:00:00 with-connect-type ""
|
||||||
allow id 17ef:608d serial "" name "Lenovo USB Optical Mouse" hash "klpDZuv1jhWGNqZLOl+KXF+75Ir3PfBm6D6ncjoLRBU=" parent-hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" via-port "1-7" with-interface 03:01:02 with-connect-type "hotplug"
|
allow id 17ef:608d serial "" name "Lenovo USB Optical Mouse" hash "klpDZuv1jhWGNqZLOl+KXF+75Ir3PfBm6D6ncjoLRBU=" parent-hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" via-port "1-7" with-interface 03:01:02 with-connect-type "hotplug"
|
||||||
allow id 17ef:6190 serial "" name "Lenovo Calliope USB Keyboard G2" hash "CfZ9R/aoXGm7BN/ojVEzKQwVoxCUtRWMuACrE7BL/5Y=" parent-hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" via-port "1-10" with-interface { 03:01:01 03:00:00 } with-connect-type "hotplug"
|
allow id 17ef:6190 serial "" name "Lenovo Calliope USB Keyboard G2" hash "CfZ9R/aoXGm7BN/ojVEzKQwVoxCUtRWMuACrE7BL/5Y=" parent-hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" via-port "1-10" with-interface { 03:01:01 03:00:00 } with-connect-type "hotplug"
|
||||||
|
allow id 0781:5581 name " SanDisk 3.2Gen1"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [9001];
|
networking.firewall.allowedTCPPorts = [9001];
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ nixpkgs.lib.nixosSystem {
|
|||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
inputs.nix-index-database.nixosModules.default
|
inputs.nix-index-database.nixosModules.default
|
||||||
|
inputs.helium-browser.nixosModules.default
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
../../home/programs/nixy
|
../../home/programs/nixy
|
||||||
../../home/programs/nightshift
|
../../home/programs/nightshift
|
||||||
../../home/programs/nix-utils
|
../../home/programs/nix-utils
|
||||||
|
../../home/programs/spotatui
|
||||||
|
../../home/programs/yazi
|
||||||
|
|
||||||
../../home/programs/group/basic-apps.nix
|
../../home/programs/group/basic-apps.nix
|
||||||
../../home/programs/group/cybersecurity.nix
|
../../home/programs/group/cybersecurity.nix
|
||||||
|
|||||||
@@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
keyboardLayout = "fr";
|
keyboardLayout = "fr";
|
||||||
|
|
||||||
location = "Paris";
|
|
||||||
timeZone = "Europe/Paris";
|
timeZone = "Europe/Paris";
|
||||||
defaultLocale = "en_US.UTF-8";
|
defaultLocale = "en_US.UTF-8";
|
||||||
extraLocale = "fr_FR.UTF-8";
|
extraLocale = "fr_FR.UTF-8";
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
system = pkgs.stdenv.hostPlatform.system;
|
system = pkgs.stdenv.hostPlatform.system;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
};
|
};
|
||||||
|
pkgs-nur-hadi = inputs.nur-anotherhadi.packages.${pkgs.stdenv.hostPlatform.system};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,59 +0,0 @@
|
|||||||
# SDDM is a display manager for X11 and Wayland
|
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
foreground = config.theme.textColorOnWallpaper;
|
|
||||||
sddm-astronaut = pkgs.sddm-astronaut.override {
|
|
||||||
embeddedTheme = "pixel_sakura";
|
|
||||||
themeConfig = {
|
|
||||||
HeaderTextColor = "#${foreground}";
|
|
||||||
DateTextColor = "#${foreground}";
|
|
||||||
TimeTextColor = "#${foreground}";
|
|
||||||
LoginFieldTextColor = "#${foreground}";
|
|
||||||
PasswordFieldTextColor = "#${foreground}";
|
|
||||||
UserIconColor = "#${foreground}";
|
|
||||||
PasswordIconColor = "#${foreground}";
|
|
||||||
WarningColor = "#${foreground}";
|
|
||||||
LoginButtonBackgroundColor = "#${foreground}";
|
|
||||||
SystemButtonsIconsColor = "#${foreground}";
|
|
||||||
SessionButtonTextColor = "#${foreground}";
|
|
||||||
VirtualKeyboardButtonTextColor = "#${foreground}";
|
|
||||||
DropdownBackgroundColor = "#${foreground}";
|
|
||||||
HighlightBackgroundColor = "#${foreground}";
|
|
||||||
Background =
|
|
||||||
if "sakura_pixelart_light_static.png" == config.stylix.image
|
|
||||||
then
|
|
||||||
pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/sakura_pixelart_light_animated.gif";
|
|
||||||
sha256 = "sha256-qySDskjmFYt+ncslpbz0BfXiWm4hmFf5GPWF2NlTVB8=";
|
|
||||||
}
|
|
||||||
else if "cat-watching-the-star_pixelart_purple_static.png" == config.stylix.image
|
|
||||||
then
|
|
||||||
pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/cat-watching-the-star_pixelart_purple_animated.gif";
|
|
||||||
sha256 = "";
|
|
||||||
}
|
|
||||||
else "${toString config.stylix.image}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
services.displayManager = {
|
|
||||||
sddm = {
|
|
||||||
package = pkgs.kdePackages.sddm;
|
|
||||||
extraPackages = [sddm-astronaut];
|
|
||||||
enable = true;
|
|
||||||
wayland.enable = true;
|
|
||||||
theme = "sddm-astronaut-theme";
|
|
||||||
settings = {
|
|
||||||
Wayland.SessionDir = "${
|
|
||||||
inputs.hyprland.packages."${pkgs.stdenv.hostPlatform.system}".hyprland
|
|
||||||
}/share/wayland-sessions";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = [sddm-astronaut];
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
c = config.lib.stylix.colors;
|
||||||
|
tuigreet = inputs.notashelf-tuigreet.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||||
|
|
||||||
|
theme = lib.concatStringsSep ";" [
|
||||||
|
"border=#${c.base0D}"
|
||||||
|
"text=#${c.base05}"
|
||||||
|
"prompt=#${c.base0D}"
|
||||||
|
"action=#${c.base0C}"
|
||||||
|
"button=#${c.base0D}"
|
||||||
|
"container=#${c.base00}"
|
||||||
|
"input=#${c.base02}"
|
||||||
|
];
|
||||||
|
|
||||||
|
tuigreet-launch = pkgs.writeShellScript "tuigreet-launch" ''
|
||||||
|
exec ${tuigreet}/bin/tuigreet \
|
||||||
|
--time \
|
||||||
|
--time-format '%H:%M %A %d %B' \
|
||||||
|
--sessions /run/current-system/sw/share/wayland-sessions \
|
||||||
|
--remember \
|
||||||
|
--remember-user-session \
|
||||||
|
--asterisks \
|
||||||
|
--greeting 'Welcome' \
|
||||||
|
--container-padding 2 \
|
||||||
|
--theme '${theme}' \
|
||||||
|
--power-shutdown 'systemctl poweroff' \
|
||||||
|
--power-reboot 'systemctl reboot'
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
default_session = {
|
||||||
|
command = "${tuigreet-launch}";
|
||||||
|
user = "greeter";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# this is a life saver.
|
||||||
|
# literally no documentation about this anywhere.
|
||||||
|
# might be good to write about this...
|
||||||
|
# https://www.reddit.com/r/NixOS/comments/u0cdpi/tuigreet_with_xmonad_how/
|
||||||
|
systemd.services.greetd.serviceConfig = {
|
||||||
|
Type = "idle";
|
||||||
|
StandardInput = "tty";
|
||||||
|
StandardOutput = "tty";
|
||||||
|
StandardError = "journal"; # Without this errors will spam on screen
|
||||||
|
# Without these bootlogs will spam on screen
|
||||||
|
TTYReset = true;
|
||||||
|
TTYVHangup = true;
|
||||||
|
TTYVTDisallocate = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [tuigreet];
|
||||||
|
}
|
||||||
@@ -33,6 +33,11 @@ in {
|
|||||||
timeZone = timeZone;
|
timeZone = timeZone;
|
||||||
};
|
};
|
||||||
i18n.defaultLocale = defaultLocale;
|
i18n.defaultLocale = defaultLocale;
|
||||||
|
i18n.inputMethod = {
|
||||||
|
enable = true;
|
||||||
|
type = "fcitx5";
|
||||||
|
fcitx5.addons = with pkgs; [fcitx5-gtk];
|
||||||
|
};
|
||||||
i18n.extraLocaleSettings = {
|
i18n.extraLocaleSettings = {
|
||||||
LC_ADDRESS = extraLocale;
|
LC_ADDRESS = extraLocale;
|
||||||
LC_IDENTIFICATION = extraLocale;
|
LC_IDENTIFICATION = extraLocale;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ in {
|
|||||||
services.nginx = {
|
services.nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts."wallpapers" = {
|
virtualHosts."wallpapers" = {
|
||||||
root = "${inputs.awesome-wallpapers.packages.${pkgs.system}.default}/share/awesome-wallpapers";
|
root = "${inputs.awesome-wallpapers.packages.${pkgs.stdenv.hostPlatform.system}.default}/share/awesome-wallpapers";
|
||||||
listen = [
|
listen = [
|
||||||
{
|
{
|
||||||
addr = "0.0.0.0";
|
addr = "0.0.0.0";
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ in {
|
|||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
"blog" = {
|
"blog" = {
|
||||||
root = "${inputs.blog.packages.${pkgs.system}.default}/share/blog";
|
root = "${inputs.blog.packages.${pkgs.stdenv.hostPlatform.system}.default}/share/blog";
|
||||||
listen = [
|
listen = [
|
||||||
{
|
{
|
||||||
addr = "0.0.0.0";
|
addr = "0.0.0.0";
|
||||||
|
|||||||
Reference in New Issue
Block a user