Compare commits

14 Commits

Author SHA1 Message Date
6f0d716cba yazi
install yazi plugins
2026-03-30 00:34:49 +02:00
090fb01c0a openscad & kitty
enable nvim openscad and switch to kitty
2026-03-28 13:55:32 +01:00
234e6c0813 printer & openscad
add indent for openscad and fix printer
2026-03-27 14:42:39 +01:00
eb67cd011d zsh & swap 2026-03-27 13:09:42 +01:00
0524833771 zathura revert 2026-03-26 16:36:30 +01:00
980121be58 zathara
disable theme
2026-03-26 16:29:58 +01:00
797395dd2a openscad
get openscad nixvim package
2026-03-26 16:28:11 +01:00
f615c1694e KJR
remove KJR Mail
2026-03-25 18:41:44 +01:00
5769fe3a1f ssh-agent
enable ssh-agent
2026-03-25 16:20:17 +01:00
b571698c94 sops
fixed path and setup homemanager
2026-03-25 15:14:05 +01:00
2c122a248d sops not working 2026-03-25 09:57:53 +01:00
097078172e sops homemanager 2026-03-24 18:57:04 +01:00
aebfb0b480 sops
install sops
2026-03-23 11:03:06 +01:00
2f22aecf00 setup sops-nix
initial installation of sops-nix without secrets
2026-03-22 23:29:57 +01:00
40 changed files with 635 additions and 181 deletions

7
.sops.yaml Normal file
View File

@@ -0,0 +1,7 @@
keys:
- &host age1ammls20r5t3dx4cvhpt8n5dejxcpdmpqt37sa9r9fuztd8c43g4sz889zd
creation_rules:
- path_regex: secrets/secrets.yaml$
key_groups:
- age:
- *host

32
builds/printer.nix Normal file
View File

@@ -0,0 +1,32 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
gutenprint
];
services.printing = {
enable = true;
listenAddresses = [ "*:631" ];
allowFrom = [ "all" ];
browsing = true;
defaultShared = true;
openFirewall = true;
drivers = [ pkgs.epson-escpr ];
};
hardware.printers = {
ensurePrinters = [
{
name = "Epson-XP-520";
location = "Home";
deviceUri = "usb://EPSON/XP-520%20Series?serial=554656593133323698&interface=1";
model = "epson-inkjet-printer-escpr/Epson-XP-520_Series-epson-escpr-en.ppd";
ppdOptions = {
PageSize = "A4";
Ink = "Color";
};
}
];
ensureDefaultPrinter = "Epson-XP-520";
};
}

10
builds/sops.nix Normal file
View File

@@ -0,0 +1,10 @@
{ ... }:
{
sops = {
defaultSopsFile = ../secrets/secrets.yaml;
defaultSopsFormat = "yaml";
age.keyFile = "/etc/sops/keys.txt";
secrets."user_password".neededForUsers = true;
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { config, pkgs, ... }:
let let
images = pkgs.callPackage ./home/themes/images.nix { }; images = pkgs.callPackage ./home/themes/images.nix { };
@@ -6,8 +6,9 @@ in
{ {
# ── Steam & Printer ─────────────────────────────────────────────────── # ── Steam & Printer ───────────────────────────────────────────────────
imports = [ imports = [
./builds/steam/default.nix ./builds/steam.nix
./home/extras/printer.nix ./builds/printer.nix
./builds/sops.nix
]; ];
# ── Use the systemd-boot EFI boot loader. ───────────────────────────── # ── Use the systemd-boot EFI boot loader. ─────────────────────────────
@@ -70,7 +71,6 @@ in
defaultSession = "river"; defaultSession = "river";
}; };
libinput.enable = true; # Enable touchpad. libinput.enable = true; # Enable touchpad.
printing.enable = true;
}; };
programs = { programs = {
@@ -98,7 +98,7 @@ in
"render" "render"
"adbusers" "adbusers"
]; ];
hashedPassword = "$6$pdAJt1f0v7Zb13Ri$1WpKrErAp5JCb7eXs7EeeWYRMBLu5/WKDdMyGzJyYQDijG2NiywUXpAkl/8p1noxOOqYbb.MTw7JmTzhWGsT21"; hashedPasswordFile = config.sops.secrets."user_password".path;
}; };
}; };
@@ -183,5 +183,5 @@ in
allowUnfree = true; allowUnfree = true;
permittedInsecurePackages = [ "electron-32.3.3" ]; permittedInsecurePackages = [ "electron-32.3.3" ];
}; };
system.stateVersion = "23.11"; system.stateVersion = "26.05";
} }

114
flake.lock generated
View File

@@ -81,6 +81,24 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -221,6 +239,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": {
"locked": {
"lastModified": 1772419343,
"narHash": "sha256-QU3Cd5DJH7dHyMnGEFfPcZDaCAsJQ6tUD+JuUsYqnKU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "93178f6a00c22fcdee1c6f5f9ab92f2072072ea9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": { "nixvim": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_2",
@@ -270,7 +304,50 @@
"nix-vscode-extensions": "nix-vscode-extensions", "nix-vscode-extensions": "nix-vscode-extensions",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"nixvim": "nixvim", "nixvim": "nixvim",
"nur": "nur" "nur": "nur",
"sops-nix": "sops-nix",
"yazi": "yazi"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"yazi",
"nixpkgs"
]
},
"locked": {
"lastModified": 1772420823,
"narHash": "sha256-q3oVwz1Rx41D1D+F6vg41kpOkk3Zi3KwnkHEZp7DCGs=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "458eea8d905c609e9d889423e6b8a1c7bc2f792c",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1774154798,
"narHash": "sha256-zsTuloDSdKf+PrI1MsWx5z/cyGEJ8P3eERtAfdP8Bmg=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "3e0d543e6ba6c0c48117a81614e90c6d8c425170",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
} }
}, },
"systems": { "systems": {
@@ -287,6 +364,41 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"yazi": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_5",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1774567340,
"narHash": "sha256-skKD1hvAvilKkK406RgNl6X/YJgkSsoZmtHmdfeoyWI=",
"owner": "sxyazi",
"repo": "yazi",
"rev": "935eb6b2989f8a7ce219a2a71a539365c8dccfbb",
"type": "github"
},
"original": {
"owner": "sxyazi",
"repo": "yazi",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@@ -28,6 +28,13 @@
nur = { nur = {
url = "github:nix-community/NUR"; url = "github:nix-community/NUR";
}; };
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
yazi.url = "github:sxyazi/yazi";
}; };
outputs = outputs =
@@ -39,6 +46,8 @@
nixpkgs, nixpkgs,
nixvim, nixvim,
nur, nur,
sops-nix,
yazi,
... ...
}@inputs: }@inputs:
{ {
@@ -50,10 +59,11 @@
modules = [ modules = [
./machines/configuration-laptop.nix ./machines/configuration-laptop.nix
./home/services/pipewire.nix ./home/services/pipewire.nix
nur.modules.nixos.default
catppuccin.nixosModules.catppuccin catppuccin.nixosModules.catppuccin
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
# impermanence.nixosModules.impermanence # impermanence.nixosModules.impermanence
nur.modules.nixos.default
sops-nix.nixosModules.sops
{ {
home-manager = { home-manager = {
useUserPackages = true; useUserPackages = true;
@@ -61,6 +71,7 @@
users.elias.imports = [ users.elias.imports = [
./home/default-laptop.nix ./home/default-laptop.nix
catppuccin.homeModules.catppuccin catppuccin.homeModules.catppuccin
sops-nix.homeManagerModules.sops
]; ];
}; };
nixpkgs.overlays = [ nixpkgs.overlays = [
@@ -76,35 +87,11 @@
modules = [ modules = [
./machines/configuration-desktop.nix ./machines/configuration-desktop.nix
./home/services/pipewire.nix ./home/services/pipewire.nix
nur.modules.nixos.default
catppuccin.nixosModules.catppuccin
home-manager.nixosModules.home-manager
# impermanence.nixosModules.impermanence
{
home-manager = {
useUserPackages = true;
extraSpecialArgs = { inherit inputs; };
users.elias.imports = [
./home/default-desktop.nix
catppuccin.homeModules.catppuccin
];
};
nixpkgs.overlays = [
inputs.nur.overlays.default
inputs.nix-vscode-extensions.overlays.default
];
}
];
};
nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./machines/configuration-desktop.nix
./home/services/pipewire.nix
nur.modules.nixos.default
catppuccin.nixosModules.catppuccin catppuccin.nixosModules.catppuccin
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
# impermanence.nixosModules.impermanence # impermanence.nixosModules.impermanence
nur.modules.nixos.default
sops-nix.nixosModules.sops
{ {
home-manager = { home-manager = {
useUserPackages = true; useUserPackages = true;
@@ -112,6 +99,7 @@
users.elias.imports = [ users.elias.imports = [
./home/default-desktop.nix ./home/default-desktop.nix
catppuccin.homeModules.catppuccin catppuccin.homeModules.catppuccin
sops-nix.homeManagerModules.sops
]; ];
}; };
nixpkgs.overlays = [ nixpkgs.overlays = [

View File

@@ -2,6 +2,7 @@
{ {
imports = [ imports = [
./extras
./services ./services
./themes ./themes
]; ];
@@ -45,9 +46,13 @@
cups cups
firefox firefox
bitwarden-desktop bitwarden-desktop
# Sops
age
sops
]; ];
stateVersion = "23.11"; stateVersion = "26.05";
}; };
programs.home-manager.enable = true; programs.home-manager.enable = true;

7
home/extras/default.nix Normal file
View File

@@ -0,0 +1,7 @@
{ ... }:
{
imports = [
./sops.nix
];
}

View File

@@ -1,19 +0,0 @@
{ pkgs, ... }:
{
services.printing.drivers = [ pkgs.epson-escpr ];
hardware.printers = {
ensurePrinters = [{
name = "Epson-XP-520";
location = "Home";
deviceUri = "http://192.168.178.34:631/ipp/print";
model =
"epson-inkjet-printer-escpr/Epson-XP-520_Series-epson-escpr-en.ppd";
ppdOptions = {
PageSize = "A4";
Ink = "Color";
};
}];
ensureDefaultPrinter = "Epson-XP-520";
};
}

13
home/extras/sops.nix Normal file
View File

@@ -0,0 +1,13 @@
{ ... }:
{
sops = {
defaultSopsFile = ../../secrets/secrets.yaml;
defaultSopsFormat = "yaml";
age.keyFile = "/etc/sops/keys.txt";
# ── Define Secrets ────────────────────────────────────────────────────
secrets."ssh/private".path = "/home/elias/.ssh/id_rsa";
secrets."ssh/public".path = "/home/elias/.ssh/id_rsa.pub";
};
}

View File

@@ -1,18 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
fira-code
];
programs.alacritty = {
enable = true;
settings.font = {
size = 8;
normal.family = "Fira Code";
bold.family = "Fira Code";
italic.family = "Fira Code";
};
};
}

View File

@@ -1,16 +1,16 @@
{ {
imports = [ imports = [
./3dprint.nix ./3dprint.nix
./alacritty.nix
./anki.nix ./anki.nix
./calibre.nix ./calibre.nix
./digikam.nix ./digikam.nix
./eww ./eww
./filebrowser.nix ./filebrowser
./git.nix ./git.nix
./hyprlock.nix ./hyprlock.nix
./imv.nix ./imv.nix
./inkscape.nix ./inkscape.nix
./kitty.nix
./libreoffice.nix ./libreoffice.nix
./messenger.nix ./messenger.nix
./nixvim ./nixvim

0
home/programs/eww/src/scripts/audio.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/battery.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/cpu.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/memory.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/network.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/powermenu.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/ristate.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/ristate_read.sh Executable file → Normal file
View File

View File

@@ -1,15 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
kdePackages.dolphin
kdePackages.dolphin-plugins
kdePackages.baloo-widgets
kdePackages.baloo
nautilus
udisks
yazi
];
xdg.configFile."menus/applications.menu".source =
"${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu";
}

View File

@@ -0,0 +1,252 @@
{ inputs, pkgs, ... }:
let
exifaudio = pkgs.fetchFromGitHub {
owner = "Sonico98";
repo = "exifaudio.yazi";
rev = "4506f9d";
sha256 = "sha256-RWCqWBpbmU3sh/A+LBJPXL/AY292blKb/zZXGvIA5/o=";
};
bunny = pkgs.fetchFromGitHub {
owner = "stelcodes";
repo = "bunny.yazi";
rev = "71b14a3";
sha256 = "sha256-uQO0C00yOFPWq8KEO/kEZM6tFZRc9SiXfgN7kzlwDeA=";
};
in
{
home.packages = with pkgs; [
# kdePackages.dolphin
# kdePackages.dolphin-plugins
# kdePackages.baloo-widgets
# kdePackages.baloo
exiftool
nautilus
ouch
udisks
];
xdg.configFile."menus/applications.menu".source =
"${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu";
# ── Yazi ──────────────────────────────────────────────────────────────
programs.yazi = {
enable = true;
package = inputs.yazi.packages.${pkgs.stdenv.hostPlatform.system}.default;
enableZshIntegration = true;
initLua = ./init.lua;
settings = {
yazi = {
ratio = [
1
4
3
];
sort_by = "natural";
sort_sensitive = true;
sort_reverse = false;
sort_dir_first = true;
linemode = "none";
show_hidden = true;
show_symlink = true;
};
preview = {
image_filter = "lanczos3";
image_quality = 90;
tab_size = 1;
max_width = 600;
max_height = 900;
cache_dir = "";
ueberzug_scale = 1;
ueberzug_offset = [
0
0
0
0
];
};
tasks = {
micro_workers = 5;
macro_workers = 10;
bizarre_retry = 5;
};
plugin = {
prepend_previewers = [
{
run = "exifaudio";
mime = "audio/*";
}
];
prepend_fetchers = [
{
id = "git";
url = "*";
run = "git";
}
{
id = "git";
url = "*/";
run = "git";
}
];
};
opener = {
extract = [
{
run = "ouch d -y %*";
desc = "Extract here with ouch";
for = "windows";
}
{
run = "ouch d -y $@";
desc = "Extract here with ouch";
for = "unix";
}
];
};
};
keymap = {
mgr.prepend_keymap = [
{
run = "plugin mount";
on = [ "M" ];
}
{
run = "plugin ouch";
on = [ "C" ];
}
{
run = "plugin bunny";
on = [
";"
];
desc = "Start bunny";
}
{
run = "plugin bunny fuzzy";
on = [
"'"
];
desc = "Start bunny fuzzy search";
}
{
run = "plugin chmod";
on = [
"c"
"m"
];
desc = "Chmod on selected files";
}
{
run = "plugin sudo -- paste";
on = [
"R"
"p"
"p"
];
desc = "sudo paste";
}
{
run = "plugin sudo -- paste --force";
on = [
"R"
"P"
];
desc = "sudo paste";
}
{
run = "plugin sudo -- rename";
on = [
"R"
"r"
];
desc = "sudo rename";
}
{
run = "plugin sudo -- link";
on = [
"R"
"p"
"l"
];
desc = "sudo link";
}
{
run = "plugin sudo -- link --relative";
on = [
"R"
"p"
"r"
];
desc = "sudo link relative path";
}
{
run = "plugin sudo -- hardlink";
on = [
"R"
"p"
"L"
];
desc = "sudo hardlink";
}
{
run = "plugin sudo -- create";
on = [
"R"
"a"
];
desc = "sudo create";
}
{
run = "plugin sudo -- remove";
on = [
"R"
"d"
];
desc = "sudo trash";
}
{
run = "plugin sudo -- remove --permanently";
on = [
"R"
"D"
];
desc = "sudo delete";
}
{
run = "plugin sudo -- chmod";
on = [
"R"
"m"
];
desc = "sudo chmod";
}
{
run = [ "plugin wl-clipboard" ];
on = [ "<C-y" ];
}
];
};
plugins = {
bunny = bunny;
chmod = pkgs.yaziPlugins.chmod;
exifaudio = exifaudio;
git = pkgs.yaziPlugins.git;
mount = pkgs.yaziPlugins.mount;
ouch = pkgs.yaziPlugins.ouch;
sudo = pkgs.yaziPlugins.sudo;
wl-clipboard = pkgs.yaziPlugins.wl-clipboard;
};
};
programs.zoxide = {
enable = true;
enableZshIntegration = true;
};
}

View File

@@ -0,0 +1,25 @@
require("bunny"):setup({
hops = {
{ key = "/", path = "/", desc = "Root" },
{ key = "n", path = "/nix/store", desc = "Nix store" },
{ key = "~", path = "~", desc = "Home" },
{ key = "r", path = "~/Repos", desc = "Repos" },
{ key = "d", path = "~/Downloads", desc = "Downloads" },
{ key = "D", path = "~/Documents", desc = "Documents" },
{ key = "c", path = "~/.config", desc = "Config files" },
{ key = { "N", "h" }, path = "~/Nextcloud", desc = "Nexctloud root" },
{ key = { "N", "d" }, path = "~/Nextcloud/Data/Documents", desc = "Nextcloud documents" },
{ key = { "N", "u" }, path = "~/Nextcloud/Uni", desc = "Nextcloud uni" },
-- key and path attributes are required, desc is optional
},
desc_strategy = "path", -- If desc isn't present, use "path" or "filename", default is "path"
ephemeral = true, -- Enable ephemeral hops, default is true
tabs = true, -- Enable tab hops, default is true
notify = false, -- Notify after hopping, default is false
fuzzy_cmd = "fzf", -- Fuzzy searching command, default is "fzf"
})
require("git"):setup({
-- Order of status signs showing in the linemode
order = 1500,
})

View File

@@ -1,4 +1,9 @@
{ lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [

View File

@@ -11,6 +11,11 @@
programs.kitty = { programs.kitty = {
enable = true; enable = true;
font = {
size = 8;
name = "Fira Code";
package = pkgs.fira-code;
};
settings = { settings = {
clear_all_shortcuts = true; clear_all_shortcuts = true;
enabled_layouts = "splits:slit_axis=horizontal,stack"; enabled_layouts = "splits:slit_axis=horizontal,stack";

View File

@@ -25,6 +25,7 @@
./noice.nix ./noice.nix
./notify.nix ./notify.nix
./oil.nix ./oil.nix
./openscad.nix
./otter.nix ./otter.nix
./papis.nix ./papis.nix
./peek.nix ./peek.nix

View File

@@ -0,0 +1,17 @@
{ ... }:
{
programs.nixvim.plugins.openscad = {
enable = true;
luaConfig.post = ''
vim.g.openscad_fuzzy_finder = 'skim'
-- when the pdf_command is run, the last argument will be the pdf filename
vim.g.openscad_pdf_command = 'zathura'
vim.g.openscad_cheatsheet_window_blend = 15 --%
vim.g.openscad_load_snippets = false
-- should the openscad project automatically be opened on startup
vim.g.openscad_auto_open = false
vim.g.openscad_default_mappings = true
'';
};
}

View File

@@ -66,9 +66,7 @@
}; };
map = { map = {
normal = { normal = {
"Super+Shift Return" = "spawn alacritty"; "Super+Shift Return" = "spawn kitty";
# Messages
"Control+Super W" = "spawn 'printf \"Hello from Wayland!\" | dunstify -'";
# System # System
"Super P" = "spawn 'rofi -show drun'"; "Super P" = "spawn 'rofi -show drun'";
"Super+Shift C" = "close"; "Super+Shift C" = "close";

0
home/programs/river/src/lock.sh Executable file → Normal file
View File

0
home/programs/river/src/logout.sh Executable file → Normal file
View File

0
home/programs/river/src/startEww.sh Executable file → Normal file
View File

0
home/programs/taskwarrior/hooks/on-add.sh Executable file → Normal file
View File

View File

@@ -12,36 +12,12 @@
}; };
accounts.email = { accounts.email = {
accounts = { accounts = {
kjr = {
address = "elias.schroeter@kjr-ebe.de";
imap = {
host = "outlook.office365.com";
port = 993;
tls.enable = true;
};
realName = "Elias Schröter";
signature = {
text = ''
Mit freundlichen Grüßen,
Elias Schröter.
'';
showSignature = "append";
};
passwordCommand = "OAuth2";
smtp = {
host = "smtp.office365.com";
port = 587;
tls = {
enable = true;
useStartTls = true;
};
};
userName = "elias.schroeter@kjr-ebe.de";
thunderbird = { enable = true; };
};
privat = { privat = {
address = "elias.schroeter@e.email"; address = "elias.schroeter@e.email";
aliases = [ "elias.schroeter@murena.io" "xacufe67.cadome83@murena.io" ]; aliases = [
"elias.schroeter@murena.io"
"xacufe67.cadome83@murena.io"
];
imap = { imap = {
host = "mail.ecloud.global"; host = "mail.ecloud.global";
port = 993; port = 993;
@@ -66,7 +42,9 @@
}; };
userName = "elias.schroeter@e.email"; userName = "elias.schroeter@e.email";
primary = true; primary = true;
thunderbird = { enable = true; }; thunderbird = {
enable = true;
};
}; };
uni = { uni = {
address = "elias.schroeter@campus.lmu.de"; address = "elias.schroeter@campus.lmu.de";
@@ -94,7 +72,9 @@
}; };
userName = "elias.schroeter@campus.lmu.de"; userName = "elias.schroeter@campus.lmu.de";
primary = false; primary = false;
thunderbird = { enable = true; }; thunderbird = {
enable = true;
};
}; };
}; };
}; };

View File

@@ -14,11 +14,12 @@
dotDir = "${config.xdg.configHome}/zsh"; dotDir = "${config.xdg.configHome}/zsh";
shellAliases = { shellAliases = {
update = "sudo nixos-rebuild switch"; update = "sudo nixos-rebuild switch";
conWG = "ssh elias@logout.nonagon.dev -p 6969";
conWS = "ssh elias@192.168.31.200";
setupPC = "wlr-randr --output HDMI-A-2 --on --mode 1920x1080 --pos 0,0;wlr-randr --output DVI-D-1 --on --mode 1920x1080 --pos 1920,0;wlr-randr --output DP-2 --on --mode 1920x1080 --pos 3840,0 --primary";
}; };
autosuggestion.enable = true; autosuggestion.enable = true;
localVariables = {
EDITOR = "nvim";
SOPS_AGE_KEY_FILE = "/etc/sops/keys.txt";
};
enableCompletion = true; enableCompletion = true;
enableVteIntegration = true; enableVteIntegration = true;
history = { history = {
@@ -30,8 +31,9 @@
enable = true; enable = true;
}; };
initContent = '' initContent = ''
export LD_LIBRARY_PATH="/nix/store/yjm4j9n85bcp42v5nkz2xifrp4a9s63k-sqlite-3.46.1/lib"o export LD_LIBRARY_PATH="/nix/store/yjm4j9n85bcp42v5nkz2xifrp4a9s63k-sqlite-3.46.1/lib"
export CHROME_EXECUTABLE="/run/current-system/sw/bin/google-chrome-stable" export CHROME_EXECUTABLE="/run/current-system/sw/bin/google-chrome-stable"
export SOPS_AGE_KEY_FILE="/etc/sops/key.txt"
fastfetch fastfetch
PROMPT='%F{green}%n%f@%F{magenta}%m%f %F{blue}%B%~%b%f %# ' PROMPT='%F{green}%n%f@%F{magenta}%m%f %F{blue}%B%~%b%f %# '

View File

@@ -3,4 +3,3 @@
{ {
services.ssh-agent.enable = true; services.ssh-agent.enable = true;
} }

View File

@@ -14,7 +14,7 @@ in
./hyprlock.nix ./hyprlock.nix
./nvim.nix ./nvim.nix
./taskwarrior.nix ./taskwarrior.nix
# ./qt.nix ./qt.nix
]; ];
catppuccin = { catppuccin = {
@@ -22,12 +22,12 @@ in
flavor = "mocha"; flavor = "mocha";
accent = "pink"; accent = "pink";
alacritty.enable = true;
anki.enable = true; anki.enable = true;
element-desktop.enable = true; element-desktop.enable = true;
firefox.enable = true; firefox.enable = true;
fzf.enable = true; fzf.enable = true;
imv.enable = true; imv.enable = true;
kitty.enable = true;
lazygit.enable = true; lazygit.enable = true;
rofi.enable = true; rofi.enable = true;
spotify-player.enable = true; spotify-player.enable = true;

View File

@@ -1,54 +1,71 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: {
config,
lib,
modulesPath,
...
}:
{ {
imports = imports = [
[ (modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sr_mod" ]; boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"usb_storage"
"usbhid"
"sd_mod"
"sr_mod"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/aded1c84-f4d0-4841-ab2f-68266532737f"; device = "/dev/disk/by-uuid/aded1c84-f4d0-4841-ab2f-68266532737f";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=root" ]; options = [ "subvol=root" ];
}; };
fileSystems."/.swapvol" = fileSystems."/.swapvol" = {
{ device = "/dev/disk/by-uuid/aded1c84-f4d0-4841-ab2f-68266532737f"; device = "/dev/disk/by-uuid/aded1c84-f4d0-4841-ab2f-68266532737f";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=swap" ]; options = [ "subvol=swap" ];
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/A38E-500D"; device = "/dev/disk/by-uuid/A38E-500D";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = [
}; "fmask=0022"
"dmask=0022"
];
};
fileSystems."/home" = fileSystems."/home" = {
{ device = "/dev/disk/by-uuid/aded1c84-f4d0-4841-ab2f-68266532737f"; device = "/dev/disk/by-uuid/aded1c84-f4d0-4841-ab2f-68266532737f";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=home" ]; options = [ "subvol=home" ];
}; };
fileSystems."/nix" = fileSystems."/nix" = {
{ device = "/dev/disk/by-uuid/aded1c84-f4d0-4841-ab2f-68266532737f"; device = "/dev/disk/by-uuid/aded1c84-f4d0-4841-ab2f-68266532737f";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=nix" ]; options = [ "subvol=nix" ];
}; };
fileSystems."/partition-root" = fileSystems."/partition-root" = {
{ device = "/dev/disk/by-uuid/aded1c84-f4d0-4841-ab2f-68266532737f"; device = "/dev/disk/by-uuid/aded1c84-f4d0-4841-ab2f-68266532737f";
fsType = "btrfs"; fsType = "btrfs";
}; };
swapDevices = [ ]; swapDevices = [
{ device = "/dev/disk/by-uuid/aded1c84-f4d0-4841-ab2f-68266532737f"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

View File

@@ -1,31 +1,43 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: {
config,
lib,
modulesPath,
...
}:
{ {
imports = imports = [
[ (modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "nvme" "ehci_pci" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.initrd.availableKernelModules = [
"nvme"
"ehci_pci"
"xhci_pci"
"usb_storage"
"sd_mod"
"rtsx_pci_sdmmc"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/10e64a0a-7ef7-492e-8f1e-5d3916405d82"; device = "/dev/disk/by-uuid/10e64a0a-7ef7-492e-8f1e-5d3916405d82";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/40CB-8C4C"; device = "/dev/disk/by-uuid/40CB-8C4C";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = swapDevices = [
[ { device = "/dev/disk/by-uuid/6a36bba4-5be8-4fd5-af21-05447bded927"; } { device = "/dev/disk/by-uuid/6a36bba4-5be8-4fd5-af21-05447bded927"; }
]; ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's

19
secrets/secrets.yaml Normal file
View File

@@ -0,0 +1,19 @@
user_password: ENC[AES256_GCM,data:+y3eoDmYNSRA5b/ywkZdJ6ai4DbU19LKIk0EbvRt9qXyfswr5fhGEgHPa+vpdbSCEaUukcW1Ch1JcLpDV/EhiI+gErjxl4iB44ul1naUT+yVqZ00Q2s9OCjI9VpWH+fVcRpJpYdOGFsztg==,iv:6t+pKJxT00kSCF6QdR319oKXXtCbKQdkXW5lDaJotBE=,tag:DO8XyiwdGrg2wpRObo7law==,type:str]
ssh:
private: ENC[AES256_GCM,data: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,iv:AW+ynRivEz5XqDmzDkTye25b8puk10xNaDSnN1tBMpk=,tag:2JRwGswvdZjOkHyuzA2QFw==,type:str]
public: ENC[AES256_GCM,data:xLdZkf4i26+6SKnWt8Yk5wEBIaLBTzcMkyePq3Ek/slpZd2tnWOGrPrX8spUtWJb1cxXKf3TMhL3QpazJAbnEwS/9fC3lNG7p/lgtIqezTgZU/lUzzVh2JBvEmP8Eh4ZN5JZNd9Qkh+vnkfq+LOMVlBvRqWk51bXBHOC7SfHtrRHFFk4TWLcSAD1dRcee3QSSGXZ6/LeCpoeTM/MLuC7CrW51xc/UJH9UaASuBuje3XJV1VklWEj0m+8Yx+hpIHIQhKuZovhaTt35BtqeNiYCpZaUq79CeWybk13l74mAjPk+jXVm/fQIK75I2tffeSQF1FTAbvggFaXgtxfnyxZPuiVKLY9GFiEL2PZrJaygpYzxBQk5XG1fdFS1V4xRvHgQcIWtNYqzs8wNQULrpphfH0JEMhYKe8stoxKZCxfR/2OatZX5SUtZEtf4KBgwcjFtKHInuIEiOxPE0EsMwR9KpPqhlNK6MEHv4MBlIBLs82mEvJ/uivlwz8blbJlnjX98Jx8pb9752f4JrJ+7mLnFVLmeuz/d2kC2xKbINU2N5Yz0zcaJwv68xNmtzWFOpJ17PUTD328x8IHJ7wyucT9h+ejHmGbKTn0yMby0ktbNUfKwRE0Fx/NaA3cpJzrvSAVkd+1yPw19VKuUb5J3XCa3obP8um7p+zH7jKh1Bn7uud3Krl34ihgfsx/C4ZEL2RhxHgdhEiXSJ8v0lpLZ7jUT17WoGo3n158itQuNuHC43Z9z9RWveQ8JQSBDcjcW2XQVIW6bBTRSpKX51hmwFcsS/XnMf260qi9QA/Ebunv10U9OYKtk0EYDZUZzHcB6A1FqGXDPDdQsAohqKJt+/G8YO+TU7VgaOwasKmlhgPacWr0tGx4gL/9bkYBBOyaytz344bRotGhkMMR52omdtSqebAAgjZWLQ/YVknaEWZ+n8eaeUB8OojPWk8weyxd4PVNGdGWVlk6yRIWCX6zRRwp4lamWDNjD+8cPCS+mZw=,iv:wyszgoMAPYkRxObEtCc7AAmd0gExVooxddCBD60azKk=,tag:+l05FzRoRrogFXtr0SHQmw==,type:str]
sops:
age:
- recipient: age1ammls20r5t3dx4cvhpt8n5dejxcpdmpqt37sa9r9fuztd8c43g4sz889zd
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmOVE0cDNvSElzcEZhVlc3
NDY0OGRmd1FSMTFFblhOOTQwcmxJU0pnenkwCnFaMUtvWDFSeHhOYVd4MG9ZVDhH
Ym52c0FqQnVTR1B6TzJhdW9ZMmRTYm8KLS0tIDdaN08vS2NnRkV5dnVDUEFEaXZZ
WWc2ZXl4Mmpjck1JTXYvbTB2bzFnRmMKU7tLqqHSPpmwQluuxQ3UIhrGARneQc9+
8hJ4b8/KH9PczWlSqwhx1nOO+/e4ZNDjd6635CQlWWghBI3p/UjhqA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-03-25T14:12:20Z"
mac: ENC[AES256_GCM,data:LuN33gAMz/kdJXD0sG5gZWKjiS15WXbkQTIaY6HHRQlGr8JbsUPA4XBsMFtAEMf5pyxodRcGmrvmutNJJaylRLbiSwt1cSlBy4CwhYgYV6DLCQ+0/+/T22m2Iq72SSjGILX/DqTJzKaoapEQYX3nNth6V/C7YnvvmEDzlDApALY=,iv:C7WNDrNdPQcxy0wWf49D2FARnwWU3G3rBY6hQ7LZiZM=,tag:qyLVBHMO1uS9xJFOJcXe+g==,type:str]
unencrypted_suffix: _unencrypted
version: 3.12.1