mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-08-21 10:45:49 +02:00
Compare commits
7 Commits
bb78dd67a5
...
a7100f6ed5
| Author | SHA1 | Date | |
|---|---|---|---|
| a7100f6ed5 | |||
| 828fe95bd4 | |||
| be9ffa94c6 | |||
| 7fd44889a5 | |||
| 3b32f061da | |||
| 2234f167ef | |||
| 07df6754de |
@@ -33,6 +33,7 @@ _secrets_, and _custom theming_ all in one place.
|
|||||||
- 💻 Hyprland & TUIs: Preconfigured Hyprland ecosystem with a lot of cool TUIs
|
- 💻 Hyprland & TUIs: Preconfigured Hyprland ecosystem with a lot of cool TUIs
|
||||||
- 🎨 Consistent Theming: Base16 & Stylix-powered themes
|
- 🎨 Consistent Theming: Base16 & Stylix-powered themes
|
||||||
- ⌨️ Vim-like Everywhere: Unified keybindings (Hyprland, nvim, vimium, etc.)
|
- ⌨️ Vim-like Everywhere: Unified keybindings (Hyprland, nvim, vimium, etc.)
|
||||||
|
- 🔒 Hardened by Default: LUKS encryption, sops-nix secrets, impermanence and more
|
||||||
|
|
||||||
## Table of Content
|
## Table of Content
|
||||||
|
|
||||||
|
|||||||
@@ -19,5 +19,6 @@
|
|||||||
home.persistence."/persist".directories = [
|
home.persistence."/persist".directories = [
|
||||||
".config/ticktick"
|
".config/ticktick"
|
||||||
".config/Signal"
|
".config/Signal"
|
||||||
|
".config/obsidian"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
runtimeInputs = with pkgs; [procps coreutils];
|
runtimeInputs = with pkgs; [procps coreutils];
|
||||||
text = ''
|
text = ''
|
||||||
printf '%s' "$1" > /tmp/waybar-osd
|
printf '%s' "$1" > /tmp/waybar-osd
|
||||||
pkill -x -RTMIN+8 waybar 2>/dev/null || true
|
pkill -f -RTMIN+8 '^waybar$' 2>/dev/null || true
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,8 @@
|
|||||||
|
|
||||||
home-manager.users."${config.var.username}" = import ./home.nix;
|
home-manager.users."${config.var.username}" = import ./home.nix;
|
||||||
|
|
||||||
|
users.users.${config.var.username}.hashedPassword = "$y$j9T$A7gH534UczuBxulj9IfEu1$ImRy3lpYpemRWNVIkA7efKPWXneFiqhZnEF1aMkWcD8"; # CHANGEME: This is my password
|
||||||
|
|
||||||
# Don't touch this
|
# Don't touch this
|
||||||
system.stateVersion = "26.05";
|
system.stateVersion = "26.05";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
|
|
||||||
files = [
|
files = [
|
||||||
".ssh/known_hosts"
|
".ssh/known_hosts"
|
||||||
".config/sops-nix/age/keys.txt"
|
".config/sops/age/keys.txt"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Impermanence: declares what should survive a wipe of "/".
|
# Impermanence: declares what should survive a wipe of "/".
|
||||||
{config, ...}: {
|
{
|
||||||
environment.persistence."/persist" = {
|
environment.persistence."/persist" = {
|
||||||
hideMounts = true;
|
hideMounts = true;
|
||||||
|
|
||||||
@@ -13,6 +13,7 @@
|
|||||||
"/var/lib/systemd/timers" # last-run timestamps (e.g. nix gc weekly)
|
"/var/lib/systemd/timers" # last-run timestamps (e.g. nix gc weekly)
|
||||||
"/var/log"
|
"/var/log"
|
||||||
"/var/cache/tuigreet"
|
"/var/cache/tuigreet"
|
||||||
|
"/var/db/sudo/lectured" # remembers that the sudo lecture was already shown
|
||||||
];
|
];
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
@@ -24,14 +25,4 @@
|
|||||||
"/var/lib/systemd/random-seed" # avoid a weak entropy pool on first boot
|
"/var/lib/systemd/random-seed" # avoid a weak entropy pool on first boot
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# -- How to find what's missing --
|
|
||||||
# Use the system normally for a week or two, then look for files that
|
|
||||||
# changed recently outside of what's already declared above:
|
|
||||||
# find "/home/${config.var.username}" -xdev -type f -mtime -14 \
|
|
||||||
# -not -path '*/.cache/*' -not -path '*/Cache/*' | less
|
|
||||||
# Anything that keeps showing up there (app state, history files,
|
|
||||||
# game saves, browser profile, spotify/lazygit config, GPG state, etc.)
|
|
||||||
# is a candidate to add above. Do this *before* switching root to a
|
|
||||||
# wipeable filesystem, not after.
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
home = "/home/${username}";
|
home = "/home/${username}";
|
||||||
in {
|
in {
|
||||||
sops = {
|
sops = {
|
||||||
age.keyFile = "${home}/.config/sops-nix/age/keys.txt";
|
age.keyFile = "${home}/.config/sops/age/keys.txt";
|
||||||
defaultSopsFile = ./secrets.yaml;
|
defaultSopsFile = ./secrets.yaml;
|
||||||
secrets = {
|
secrets = {
|
||||||
ssh-config = {
|
ssh-config = {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ sops:
|
|||||||
FSfQWnjhe/a7BJtJEcKZkjOQU0mYqlSu+uT2RA9diCQeRUJPRF+nAw==
|
FSfQWnjhe/a7BJtJEcKZkjOQU0mYqlSu+uT2RA9diCQeRUJPRF+nAw==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334
|
recipient: age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334
|
||||||
lastmodified: "2026-08-13T18:02:38Z"
|
lastmodified: "2026-08-13T21:43:40Z"
|
||||||
mac: ENC[AES256_GCM,data:NXEE083Qakiy8OQKwRSX0hvbdwfjONNdL9hocIMfvPOY71wWYpS0HbD/qtPwv5VkHnyumAF7XwKEEOns1UeEULI03fYePq4tUphYTfyKh6UL1NL6WKUPXU/K0PHZrPIyo2CrvSSC0PeUc8ZbhjEeNbL16UELUJNtzZ6M/UbhqD0=,iv:kYFvQsnOqZLUshKiw1SuUFQ1MWOaN8TJgFZXmmAyYag=,tag:4+tFSVzJolcdhrF+pUfeZA==,type:str]
|
mac: ENC[AES256_GCM,data:aOONPIVt40AwHYs26+wJ9Sf50OkZ6mA+6r6nHIhnkpra1b/XmNISxjRICOn0F/ct7MUgzmg4GH6otSTFWo16ch/LqY1osDUA0HtmeJ/wVQ77IBZtSPNWaQnixcYUa+bu3PJApNdAG6BrLwGdnhBRRj9c0A6kPFqru/agcKNM3yg=,iv:f0oDpA3YIqseb/SSdnWjsVzClY/x+zzuRCDOuKRH33Y=,tag:Bam7vuGopRbjPCJ2YlTFGA==,type:str]
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.13.3
|
version: 3.13.3
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
}: let
|
}: let
|
||||||
vpnConnection = "wg-vpn";
|
vpnConnection = "wg-vpn";
|
||||||
|
|
||||||
# Same OSD mechanism as home/system/waybar/scripts.nix's waybar-osd: drop the
|
|
||||||
# text in /tmp/waybar-osd and nudge waybar's custom/osd module to show it.
|
|
||||||
toggleVpn = pkgs.writeShellScript "toggle-wg-vpn" ''
|
toggleVpn = pkgs.writeShellScript "toggle-wg-vpn" ''
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
nmcli="${pkgs.networkmanager}/bin/nmcli"
|
nmcli="${pkgs.networkmanager}/bin/nmcli"
|
||||||
@@ -20,7 +18,7 @@
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
printf '%s' "$OSD_TEXT" > /tmp/waybar-osd
|
printf '%s' "$OSD_TEXT" > /tmp/waybar-osd
|
||||||
${pkgs.procps}/bin/pkill -x -RTMIN+8 waybar 2>/dev/null || true
|
${pkgs.procps}/bin/pkill -f -RTMIN+8 '^waybar$' 2>/dev/null || true
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
|
|||||||
@@ -17,9 +17,6 @@ in {
|
|||||||
"networkmanager"
|
"networkmanager"
|
||||||
"wheel"
|
"wheel"
|
||||||
];
|
];
|
||||||
# CHANGEME: Set your password with: mkpasswd -m sha-512
|
|
||||||
# Or use initialPassword for first boot, then change it
|
|
||||||
initialPassword = "nixos";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user