mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-08-21 10:45:49 +02:00
Waybar here i come (#58)
This commit is contained in:
@@ -13,10 +13,12 @@
|
||||
../../nixos/utils.nix
|
||||
../../nixos/hyprland.nix
|
||||
../../nixos/usbguard.nix
|
||||
../../home/programs/helium/system.nix # I hate browser's configuration..
|
||||
../../home/programs/gui/helium/system.nix # I hate browser's configuration..
|
||||
|
||||
../../nixos/omen.nix # CHANGEME: For my laptop only, remove this (OMEN 16)
|
||||
|
||||
./wireguard.nix # CHANGEME: For my laptop only
|
||||
|
||||
# You should let those lines as is
|
||||
./hardware-configuration.nix
|
||||
./variables.nix
|
||||
@@ -47,12 +49,13 @@
|
||||
allow id 03f0:076b serial "" name "USB5734" hash "BshoqybYo0IKgoDORYPRtbhhlmQrYAxPQb2EAm1JsWA=" parent-hash "JHDjLFApQNqijjmuKdJSWH5+1oLL7S6LQ9QHTAk5fTk=" via-port "8-1.3" with-interface 09:00:00 with-connect-type "unknown"
|
||||
allow id 0bda:8153 serial "000001000000" name "USB 10/100/1000 LAN" hash "utEnXKJ57kRUbPcGUaNWhEyoOEbLOYAFxvlsyC0PZkk=" parent-hash "JHDjLFApQNqijjmuKdJSWH5+1oLL7S6LQ9QHTAk5fTk=" with-interface { ff:ff:00 02:06:00 0a:00:00 0a:00:00 } with-connect-type "unknown"
|
||||
allow id 046d:0ab7 serial "2046BAB04T68" name "Blue Microphones" hash "cC6AQ2e1Q/BeFeostpbf1mH2WpoUmt6bhau4NlA3niU=" parent-hash "MSXcPAlZqkpTyZQylOhSIB8eMfST2AzVHV9EbrBGTWc=" with-interface { 01:01:00 01:02:00 01:02:00 01:02:00 01:02:00 01:02:00 01:02:00 03:00:00 } with-connect-type "unknown"
|
||||
allow id 1532:02a1 serial "" name "Razer Ornata V3" hash "wfuIjBhhGuge8gflyA526SKqKoy8rHJZQZ+2o6usMiE=" parent-hash "MSXcPAlZqkpTyZQylOhSIB8eMfST2AzVHV9EbrBGTWc=" via-port "7-1.3.3" with-interface { 03:01:01 03:00:01 03:00:02 } with-connect-type "unknown"
|
||||
allow id 13fd:5900 serial "50026B76861EE752 " name "External" hash "l/QvVV5hzZj1z6OUwB/kWl+WnH/7awrdMBoiNVx660M=" parent-hash "MSXcPAlZqkpTyZQylOhSIB8eMfST2AzVHV9EbrBGTWc=" with-interface { 08:06:50 08:06:62 } with-connect-type "unknown"
|
||||
allow id 1532:02a1 name "Razer Ornata V3"
|
||||
allow id 03f0:066b name "HP USB-C Dock G5"
|
||||
'';
|
||||
|
||||
home-manager.users."${config.var.username}" = import ./home.nix;
|
||||
|
||||
# Don't touch this
|
||||
system.stateVersion = "24.05";
|
||||
system.stateVersion = "26.05";
|
||||
}
|
||||
|
||||
@@ -1,18 +1,21 @@
|
||||
{
|
||||
inputs,
|
||||
nixpkgs,
|
||||
pkgs-unstable,
|
||||
...
|
||||
}:
|
||||
nixpkgs.lib.nixosSystem {
|
||||
modules = [
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
inputs.nur.overlays.default
|
||||
];
|
||||
_module.args = {inherit inputs;};
|
||||
_module.args = {inherit inputs pkgs-unstable;};
|
||||
}
|
||||
inputs.nixos-hardware.nixosModules.omen-16-n0005ne
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.stylix.nixosModules.stylix
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
inputs.nix-index-database.nixosModules.default
|
||||
inputs.helium-browser.nixosModules.default
|
||||
./configuration.nix
|
||||
|
||||
+33
-21
@@ -1,33 +1,45 @@
|
||||
{config, ...}: {
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Programs
|
||||
../../home/programs/helium
|
||||
../../home/programs/proton
|
||||
../../home/programs/proton/auto-start-vpn.nix
|
||||
../../home/programs/ghostty
|
||||
../../home/programs/nvf
|
||||
../../home/programs/shell
|
||||
../../home/programs/git
|
||||
../../home/programs/git/lazygit.nix
|
||||
../../home/programs/git/signing.nix # CHANGEME: Change the key or remove this file
|
||||
../../home/programs/thunar
|
||||
../../home/programs/nixy
|
||||
../../home/programs/nightshift
|
||||
../../home/programs/nix-utils
|
||||
../../home/programs/spotatui
|
||||
../../home/programs/yazi
|
||||
|
||||
../../home/programs/group/basic-apps.nix
|
||||
## GUI
|
||||
../../home/programs/gui/proton
|
||||
../../home/programs/gui/helium
|
||||
../../home/programs/gui/pkgs.nix
|
||||
|
||||
## TUI
|
||||
inputs.nvf-config.homeManagerModules.default
|
||||
../../home/programs/tui/ghostty
|
||||
../../home/programs/tui/ilovetui
|
||||
../../home/programs/tui/shell
|
||||
../../home/programs/tui/git
|
||||
../../home/programs/tui/git/lazygit.nix
|
||||
../../home/programs/tui/git/signing.nix # CHANGEME: Change the key or remove this file
|
||||
../../home/programs/tui/nixy
|
||||
../../home/programs/tui/nix-utils
|
||||
../../home/programs/tui/spotatui
|
||||
../../home/programs/tui/elio
|
||||
../../home/programs/tui/pkgs.nix
|
||||
|
||||
## GROUPS
|
||||
../../home/programs/group/cybersecurity.nix
|
||||
../../home/programs/group/dev.nix
|
||||
../../home/programs/group/misc.nix
|
||||
|
||||
# System (Desktop environment like stuff)
|
||||
../../home/system/hyprlock
|
||||
../../home/system/hyprland
|
||||
../../home/system/caelestia-shell
|
||||
../../home/system/hyprpaper
|
||||
../../home/system/waybar
|
||||
../../home/system/swaync
|
||||
../../home/system/tofi
|
||||
../../home/system/mime
|
||||
../../home/system/udiskie
|
||||
../../home/system/termfilechooser
|
||||
../../home/system/clipboard
|
||||
../../home/system/hypridle
|
||||
|
||||
./variables.nix # Mostly user-specific configuration
|
||||
./secrets # CHANGEME: You should probably remove this line, this is where I store my secrets
|
||||
@@ -45,7 +57,7 @@
|
||||
};
|
||||
|
||||
# Don't touch this
|
||||
stateVersion = "24.05";
|
||||
stateVersion = "26.05";
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.settings.monitor = [
|
||||
|
||||
@@ -51,11 +51,12 @@ in {
|
||||
- *work
|
||||
'';
|
||||
|
||||
systemd.user.services.mbsync.Unit.After = ["sops-nix.service"];
|
||||
home.packages = with pkgs; [
|
||||
sops
|
||||
age
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland.settings.exec-once = ["systemctl --user start sops-nix"];
|
||||
wayland.windowManager.hyprland.settings.exec-once = [
|
||||
"systemctl --user start sops-nix"
|
||||
];
|
||||
}
|
||||
|
||||
@@ -3,10 +3,10 @@ github-key: ENC[AES256_GCM,data:xUgFMlBo8e+3eXqNscxbby1dWug3SgUagDiNUe/IGVbU6ccz
|
||||
jack-key: ENC[AES256_GCM,data:VfCl3wH0MMBc8QDyjLDFeSvzSEsf7uGpfJvRjFrmjW+bPRUXBpZhJV8a9VQIAz7z7zZXvzARMfCeI0ydyC57CW81GH5/H5pneJ4b+xreINjVfdLbL1nC1thelo/O64jda/L+xVKhgE+QQi8/zt4JmXGghkP+74nYcTTaMpmcbgWw354J1ybXqyCEY+88nsJ1d2s+M7M2bplx4fGb7sLUs6sqdsad3sENzhH/0HQCFXreHTtgsLbIs8ccmdRgFNKM8/wD0OoW76rOQsJoA9JY4yOTQNVoX5M8+Olj6+wVlt6QBrWrYRuEztGnHrHvzxiHXtmEkMwVNfoPpEflQyRYRa0rVp/66REOkMckGx6/LbxKFgrxnifRlsK3kWd28v2bRGVQOghUluYUtVkaJ+eh6o6ik0NQKx8/H6BznBSDE6MjDwbLv434LHBfDtAqhWN1eMbOlunFivsl5Hb/6rl9kydHlcCS6FY8cUHoKQ90gDaUuDrvUifwmdO5hU0GH5tgvGi1ReK9ndcpQsrHptG6,iv:oC1xU5Tu3The105VYRmxIw4kEwDoqe8T/EH6mmqpqwQ=,tag:Pu8c536u6W7ALrqjRsvXDw==,type:str]
|
||||
signing-key: ENC[AES256_GCM,data:NvLqmt7NzrWkbQQqFfosmSMvEv8C8+MDDpxSoDo3zZ3MR6WXr9B+6CnUc6rtevM230wgE17VC9XlmcQxX+PjJsWq6gZteK5THTIcrR5zPJVNlVCEyeLKoFj/6m7qBgyyoN3OjCNjgMkhsm009jwBgNk0qJMAYebOGo8eoP/al+4ytm7dhna+iX5WZabAg0J4z4JMDQonqQl3SaDnCEdHvk9m7ZEP2vUFscPkbLj4ewgFq+bUCHOOQb2uqRJoEgcR/NetRFcQfzcU6lp7JxobaICaO3zdmomUm7oabIUTrc3Kom3Wjw8ryqfqC1/SC0SHr5XGk2ygk0WnlQ4kNshqriL2dwbWAzy1Z/cTX9+aB/KNtC0U6zWG1bpnL3dgSgvhRiocIis/eNg1HWsLWVicmdebL/lXHztxFMdTuX/gWgQBotggTmx+OFGZfP9ZGlF3635mDxM/fEOCtTyA195dMicCUsjEpBegNtXsp+oOtxyRI0jSW47MBcXFP09f5ywELTPyz4eOUHO8sQ6UfJ6X,iv:KNQUlMPaiR4x1Fw+HZe/EOmh/gfsrqlefpq23uflz/8=,tag:illu42HKunQXnijjsUIvnQ==,type:str]
|
||||
signing-pub-key: ENC[AES256_GCM,data:XuokZmCsnaNQ0rvVa3k81T4vtxw//r63xp1yHDLaNAMwA2r2bh6addl9WoAmm76g1rweqZrAAIw1PXDb90ubPaBP1iEHSkGZpwUpy/tOTePRdHMW2WtVvidpHQ==,iv:auB/bA89cJK6DnQi1BK2uldXRPyJfo+r7nl5qOLefUk=,tag:/I3kB6El1yesBMGOjJ+oHA==,type:str]
|
||||
wireguard-private-key: ENC[AES256_GCM,data:5pEYyxiyKWMc9/3M37JimpeIrfZOtpwBnxL26q5d2griryqK8/CNsrv1Idw=,iv:2bZ/HlkwQ5Q6+BsiPWdjmdn3NbZ8Ck1RxP5dbGm3gDg=,tag:YeSEZlqj8QNLzItiSGjbPA==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334
|
||||
enc: |
|
||||
- enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHVWN4YjZqczB3Q21WL1lz
|
||||
ckROWkhRditHblVHVEpOS0E0aGVqdW14M0ZvCkNzRXlCOWFBWmQwTGpTYVdFRlpq
|
||||
@@ -14,7 +14,8 @@ sops:
|
||||
cmVxVC8rVDlWMUdZaGw3bmdOaWZGS1EKYahBlc8XpB5UdKZQkvxbLcKQ/xkFJjWo
|
||||
FSfQWnjhe/a7BJtJEcKZkjOQU0mYqlSu+uT2RA9diCQeRUJPRF+nAw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-04-25T11:23:30Z"
|
||||
mac: ENC[AES256_GCM,data:ZnLSwtyhaiMIcXxzlwhtk0dWVnOkn0avfeRezPPNBUXd0oyJY+krBsLXJdSNPHV/X/L58476okYjUzfIQzEAkrL9Fb7v/Jt0aw4SDrxbF+qbcfdvsWPUjFDJIPovuf3ee3o7iXGU2ItGTaJa2eFACoyd37KVc7jZd6gvYYAyULA=,iv:7IKqe0c5CTgJrS7OgCQWhtxaCVKo+UWEibttFUVCWGM=,tag:OfCrKPzrPBZThCR1j7IB7A==,type:str]
|
||||
recipient: age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334
|
||||
lastmodified: "2026-08-12T16:57:26Z"
|
||||
mac: ENC[AES256_GCM,data:uRV+z//TyrFiqYcVWQmQ4lT2QpiRR2gHwrFV9gSZAoeAcpmZqqUN84a1AcbM4Vx61uT1mhtIYwiUs7kdhjoypGKWWPwKSIDY9wMDjLoc5m/q4EZQ8n60qwmYMkKrqHcinn/uE60jl6bHo8zMaF2zRmLJD2OB+GQ4r4Gn5zxsO/I=,iv:EnKVhZsmU1uE6L0zq5nGvkk8ooVcSA6dlCsOg1k4Njg=,tag:ho+IhaChdCxUeMGl3dGgBA==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.12.2
|
||||
version: 3.13.3
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
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" ''
|
||||
set -euo pipefail
|
||||
nmcli="${pkgs.networkmanager}/bin/nmcli"
|
||||
|
||||
if "$nmcli" -t -f NAME connection show --active | grep -qx "${vpnConnection}"; then
|
||||
"$nmcli" connection down "${vpnConnection}"
|
||||
OSD_TEXT=" VPN Off"
|
||||
else
|
||||
"$nmcli" connection up "${vpnConnection}"
|
||||
OSD_TEXT=" VPN On"
|
||||
fi
|
||||
|
||||
printf '%s' "$OSD_TEXT" > /tmp/waybar-osd
|
||||
${pkgs.procps}/bin/pkill -x -RTMIN+8 waybar 2>/dev/null || true
|
||||
'';
|
||||
in {
|
||||
environment.systemPackages = [
|
||||
(pkgs.makeDesktopItem {
|
||||
name = "toggle-wg-vpn";
|
||||
desktopName = "Toggle VPN";
|
||||
comment = "Turn the WireGuard VPN connection on or off";
|
||||
icon = "network-vpn-symbolic";
|
||||
exec = "${toggleVpn}";
|
||||
terminal = false;
|
||||
categories = ["Network"];
|
||||
})
|
||||
];
|
||||
|
||||
sops = {
|
||||
age.keyFile = "/home/hadi/.config/sops/age/keys.txt";
|
||||
defaultSopsFile = ./secrets/secrets.yaml;
|
||||
secrets.wireguard-private-key = {};
|
||||
|
||||
templates."wg-vpn.nmconnection" = {
|
||||
path = "/etc/NetworkManager/system-connections/wg-vpn.nmconnection";
|
||||
mode = "0600";
|
||||
owner = "root";
|
||||
group = "root";
|
||||
content = ''
|
||||
[connection]
|
||||
id=wg-vpn
|
||||
type=wireguard
|
||||
interface-name=wg-vpn
|
||||
autoconnect=true
|
||||
autoconnect-priority=0
|
||||
|
||||
[wireguard]
|
||||
private-key=${config.sops.placeholder.wireguard-private-key}
|
||||
|
||||
[wireguard-peer.36G8+pInNcPK9F1TpHglWs9Pk5uJOY9o8SCNrCBgvHE=]
|
||||
endpoint=89.222.96.158:51820
|
||||
allowed-ips=0.0.0.0/0;::/0;
|
||||
persistent-keepalive=25
|
||||
|
||||
[ipv4]
|
||||
method=manual
|
||||
address1=10.2.0.2/32
|
||||
dns=10.2.0.1;
|
||||
|
||||
[ipv6]
|
||||
method=manual
|
||||
address1=2a07:b944::2:2/128
|
||||
dns=2a07:b944::2:1;
|
||||
addr-gen-mode=default
|
||||
ip6-privacy=0
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user