summaryrefslogtreecommitdiffstats
path: root/modules/common
diff options
context:
space:
mode:
Diffstat (limited to 'modules/common')
-rw-r--r--modules/common/abstract-nord.pngbin140219 -> 0 bytes
-rw-r--r--modules/common/hooks/default.nix8
-rwxr-xr-xmodules/common/hooks/scripts/sync-git-repo.sh13
-rw-r--r--modules/common/projects.json132
-rw-r--r--modules/common/soispha/default.nix (renamed from modules/common/default.nix)171
-rw-r--r--modules/common/soispha/hooks/default.nix17
-rwxr-xr-xmodules/common/soispha/hooks/scripts/sync-git-repo.sh23
-rw-r--r--modules/common/soispha/projects.json71
-rw-r--r--modules/common/soispha/projects.json.license9
9 files changed, 237 insertions, 207 deletions
diff --git a/modules/common/abstract-nord.png b/modules/common/abstract-nord.png
deleted file mode 100644
index 5ef498bf..00000000
--- a/modules/common/abstract-nord.png
+++ /dev/null
Binary files differ
diff --git a/modules/common/hooks/default.nix b/modules/common/hooks/default.nix
deleted file mode 100644
index e2d12807..00000000
--- a/modules/common/hooks/default.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- pkgs,
- lib,
- config,
-}: {
- sync-git-repos = config.lib.taskwarrior.mkHook "on-add" [pkgs.git] ./scripts/sync-git-repo.sh;
- sync-git-repos-mod = config.lib.taskwarrior.mkHook "on-modify" [pkgs.git] ./scripts/sync-git-repo.sh;
-}
diff --git a/modules/common/hooks/scripts/sync-git-repo.sh b/modules/common/hooks/scripts/sync-git-repo.sh
deleted file mode 100755
index ad7368f3..00000000
--- a/modules/common/hooks/scripts/sync-git-repo.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env sh
-
-task_data="$(task _get rc.data.location)"
-[ "$task_data" ] || die "Taskwarrior should have a location set"
-
-cd "$task_data" || die "(BUG?): Your data.location path is not accessable"
-
-[ -d ./.git/ ] || git init
-
-git add .
-git commit --message="chore: Update" --no-gpg-sign
-
-# vim: ft=sh
diff --git a/modules/common/projects.json b/modules/common/projects.json
deleted file mode 100644
index 48a10f03..00000000
--- a/modules/common/projects.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{
- "3d-printer": {
- "prefix": "hardware"
- },
- "aoc": {
- "prefix": "programming/advent_of_code"
- },
- "book": {
- "prefix": "book"
- },
- "buy": {
- "prefix": "buy",
- "subprojects": {
- "books": {},
- "pc": {}
- }
- },
- "camera": {
- "prefix": "programming/zig"
- },
- "hardware": {
- "prefix": "research"
- },
- "input": {
- "prefix": "research",
- "subprojects": {
- "dotfiles": {},
- "read-things": {}
- }
- },
- "latex": {
- "prefix": "programming/latex"
- },
- "me": {
- "subprojects": {
- "bank": {},
- "google": {},
- "health": {},
- "sweden": {}
- }
- },
- "possible-projects": {
- "prefix": "research"
- },
- "presentation": {
- "prefix": "research"
- },
- "school": {
- "prefix": "research",
- "subprojects": {
- "biologie": {},
- "chemie": {
- "subprojects": {
- "facharbeit": {}
- }
- },
- "deutsch": {},
- "english": {},
- "extern": {
- "subprojects": {
- "bwinf": {},
- "dsa": {}
- }
- },
- "geographie": {},
- "geschichte": {},
- "infomatik": {},
- "klausuren": {},
- "latein": {},
- "mathematik": {},
- "musik": {},
- "philosophie": {},
- "physik": {},
- "sozialkunde": {},
- "sport": {}
- }
- },
- "server": {
- "prefix": "config",
- "subprojects": {
- "b-peetz": {},
- "blog": {},
- "ci": {},
- "email": {},
- "nix-sync": {},
- "sudo-less": {}
- }
- },
- "serverphone": {
- "prefix": "programming/rust"
- },
- "smartphone": {
- "prefix": "hardware",
- "subprojects": {
- "airdrop": {},
- "airplay": {}
- }
- },
- "system": {
- "prefix": "config",
- "subprojects": {
- "backup": {},
- "bar": {},
- "email": {},
- "firefox": {},
- "gpg": {},
- "keyboard": {},
- "laptop": {},
- "nvim": {},
- "rss": {},
- "shell": {},
- "task": {},
- "wm": {},
- "youtube": {}
- }
- },
- "timesinks": {
- "subprojects": {
- "games": {},
- "music": {},
- "netflix": {},
- "youtube": {}
- }
- },
- "trinitrix": {
- "prefix": "programming/rust",
- "subprojects": {
- "documentation": {},
- "testing": {}
- }
- }
-}
diff --git a/modules/common/default.nix b/modules/common/soispha/default.nix
index 1c00c710..640c6e2f 100644
--- a/modules/common/default.nix
+++ b/modules/common/soispha/default.nix
@@ -1,3 +1,12 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
# This file contains common configuration applied to every host.
# It should only `enable` options defined in the `modules/by-name` directory.
{
@@ -6,37 +15,56 @@
lib,
...
}: {
- soispha = {
- boot.enable = true;
- cleanup.enable = true;
- documentation.enable = true;
-
- fonts = {
- enable = true;
- enableEmoji = true;
- };
+ home-manager.users.soispha.home = {
+ username = "soispha";
+ homeDirectory = config.users.users.soispha.home;
+ stateVersion = "23.05";
+ enableNixpkgsReleaseCheck = true;
+ };
- home-manager.enable = true;
- impermanence = {
+ vhack = {
+ openssh.enable = true;
+ persist = {
enable = true;
directories = [
"/etc/nixos"
- "/var/log"
"/var/lib/systemd"
- "/var/lib/nixos"
+ "/var/log"
];
};
- polkit.enable = true;
- power.enable = true;
- xdg.enable = true;
+ services = {
+ mandb.enable = true;
+ backup = {
+ storagebox = {
+ enable = true;
+ user = "u459143-sub1";
+ sshHostKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIICf9svRenC/PLKIL9nk6K/pxQgoiFC41wTNvoIncOxs";
+ repositoryPassword =
+ ../../../hosts/by-name/apzu/secrets/storagebox/repository_password.age;
+ sshKey = ../../../hosts/by-name/apzu/secrets/storagebox/ssh_key.age;
+ };
+ local = {
+ enable = true;
+ repositoryPassword = ../../../hosts/by-name/apzu/secrets/local/repository_password.age;
+ };
+ };
+ };
+ };
+ soispha = {
services = {
+ mpdpopm.enable = true;
+ dconf.enable = true;
+
+ ollama.enable = false;
+
adb = {
enable = true;
user = "soispha";
};
fwupd.enable = true;
+ mako.enable = true;
mpd = {
enable = true;
directories = let
@@ -52,13 +80,10 @@
beetsPkg = config.home-manager.users.soispha.programs.beets.package;
};
};
- ollama.enable = false;
- postgresql.enable = false;
printing.enable = true;
scanning.enable = true;
snapper.enable = true;
water-reminder.enable = true;
- steam.enable = false;
systemDiff.enable = true;
unison = {
enable = true;
@@ -74,46 +99,69 @@
config.home-manager.users.soispha.home.file);
in
[
- # already synchronized by the taskserver
- "~/.local/share/task"
-
- # Should not be synchronized
- "~/.local/share/unison"
-
- # Is just to big to be synchronized (# TODO: Work around that <2024-08-31> )
- "~/media/music"
+ # TODO(@bpeetz): Move that to its respective module (after migrating it to
+ # by-name) <2025-05-09>
+ # Already synchronized by mbsync
+ "~/.local/share/maildir"
]
++ homeManagerSymlinks;
pathsToSync = [
- "~/.local/state/mpv"
- "~/.local/state/nvim"
"~/.local/share"
"~/.local/.Trash-1000"
- "~/.mozilla/firefox"
-
"~/media"
- "~/school"
+ "~/documents"
"~/repos"
];
};
- };
+ pipewire.enable = true;
+ plymouth.enable = true;
+ sound.enable = true;
+ };
programs = {
+ hledger.enable = true;
+
+ starship.enable = true;
+ rofi.enable = true;
+ nixos-option.enable = true;
+ swayidle.enable = true;
+ swaybg.enable = true;
+ foot.enable = true;
+ ausweisapp.enable = true;
+ signal.enable = true;
+ alacritty.enable = true;
+ cargo.enable = true;
+ calibre.enable = true;
+ iamb.enable = true;
+ mergiraf.enable = true;
+ lutris.enable = true;
+
+ i3bar-river.enable = true;
+ i3status-rust.enable = true;
+
+ qutebrowser = {
+ enable = true;
+ };
+
nvim = {
enable = true;
shell = pkgs.zsh;
};
- atuin.enable = true;
- cargo.enable = true;
+ atuin = {
+ enable = true;
+ enableAge = lib.mkDefault true;
+ };
direnv.enable = true;
git.enable = true;
imv.enable = true;
less.enable = true;
lf.enable = true;
+ ly.enable = lib.mkDefault true;
+ gpg.enable = true;
river = {
- enable = true;
+ enable = lib.mkDefault true;
init = {
rules = [
{
@@ -147,12 +195,12 @@
title = "*";
action = "ssd";
}
- # This remove the focus border around Firefox (which is useful because the Firefox is nearly always in its own tag.)
- {
- app-id = "firefox";
- title = "*";
- action = "csd";
- }
+ # # This remove the focus border around Firefox (which is useful because the Firefox is nearly always in its own tag.)
+ # {
+ # app-id = "firefox";
+ # title = "*";
+ # action = "csd";
+ # }
];
generalSettings = {
# background
@@ -174,36 +222,51 @@
pointer-1133-49970-Logitech_Gaming_Mouse_G502 = [["pointer-accel" "0"] ["accel-profile" "none"]];
pointer-12951-6505-ZSA_Technology_Labs_Moonlander_Mark_I = [["pointer-accel" "0"] ["accel-profile" "none"]];
};
- backgroundStart = [
- pkgs.gammastep
- pkgs.yambar
-
- pkgs.mako
- ["${lib.getExe pkgs.swaybg}" "--image" "${./abstract-nord.png}"]
- pkgs.swayidle
- pkgs.alacritty
- ];
};
};
- firefox.enable = true;
mpv.enable = true;
+ steam.enable = true;
+ ssh.enable = true;
swaylock.enable = true;
timewarrior.enable = true;
taskwarrior = {
enable = true;
+ enableAge = lib.mkDefault true;
+
hooks = import ./hooks {inherit pkgs lib config;};
};
tskm = {
enable = true;
projects = builtins.fromJSON (builtins.readFile ./projects.json);
};
- yambar.enable = true;
+ nix-index.enable = true;
yt.enable = true;
zathura.enable = true;
zsh.enable = true;
+ fish.enable = true;
};
- sound.enable = true;
+ gtk.enable = true;
+ nix.enable = true;
+
+ age.enable = true;
+ boot.enable = true;
+ cleanup.enable = true;
+ documentation.enable = true;
+
+ fonts = {
+ enable = true;
+ enableEmoji = true;
+ };
+
+ hardware = {
+ enable = lib.mkDefault true;
+ };
+ home-manager.enable = true;
+
+ polkit.enable = true;
+ xdg.enable = true;
+
version.enable = true;
};
}
diff --git a/modules/common/soispha/hooks/default.nix b/modules/common/soispha/hooks/default.nix
new file mode 100644
index 00000000..5b694039
--- /dev/null
+++ b/modules/common/soispha/hooks/default.nix
@@ -0,0 +1,17 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+{
+ pkgs,
+ lib,
+ config,
+}: {
+ sync-git-repos = config.lib.taskwarrior.mkHook "on-add" [pkgs.git] ./scripts/sync-git-repo.sh;
+ sync-git-repos-mod = config.lib.taskwarrior.mkHook "on-modify" [pkgs.git] ./scripts/sync-git-repo.sh;
+}
diff --git a/modules/common/soispha/hooks/scripts/sync-git-repo.sh b/modules/common/soispha/hooks/scripts/sync-git-repo.sh
new file mode 100755
index 00000000..fe0d0085
--- /dev/null
+++ b/modules/common/soispha/hooks/scripts/sync-git-repo.sh
@@ -0,0 +1,23 @@
+#!/usr/bin/env sh
+
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
+task_data="$(task _get rc.data.location)"
+[ "$task_data" ] || die "Taskwarrior should have a location set"
+
+cd "$task_data" || die "(BUG?): Your data.location path is not accessable"
+
+[ -d ./.git/ ] || git init
+
+git add .
+git commit --message="chore: Update" --no-gpg-sign
+
+# vim: ft=sh
diff --git a/modules/common/soispha/projects.json b/modules/common/soispha/projects.json
new file mode 100644
index 00000000..ea14d6e4
--- /dev/null
+++ b/modules/common/soispha/projects.json
@@ -0,0 +1,71 @@
+{
+ "aoc": {
+ "prefix": "programming/advent_of_code"
+ },
+ "book": {
+ "prefix": "book"
+ },
+ "buy": {
+ "prefix": "buy",
+ "subprojects": {
+ "books": {},
+ "pc": {}
+ }
+ },
+ "esc": {},
+ "latex": {
+ "prefix": "programming/latex"
+ },
+ "me": {
+ "subprojects": {
+ "bank": {},
+ "google": {},
+ "health": {},
+ "job": {},
+ "shop": {},
+ "sweden": {}
+ }
+ },
+ "server": {
+ "prefix": "config",
+ "subprojects": {
+ "b-peetz": {},
+ "blog": {},
+ "ci": {},
+ "email": {},
+ "nix-sync": {},
+ "sudo-less": {}
+ }
+ },
+ "smartphone": {
+ "prefix": "hardware"
+ },
+ "system": {
+ "prefix": "config",
+ "subprojects": {
+ "backup": {},
+ "bar": {},
+ "email": {},
+ "firefox": {},
+ "gpg": {},
+ "keyboard": {},
+ "laptop": {},
+ "music": {},
+ "nvim": {},
+ "rss": {},
+ "shell": {},
+ "task": {},
+ "wm": {},
+ "youtube": {}
+ }
+ },
+ "timesinks": {
+ "subprojects": {
+ "games": {},
+ "music": {},
+ "netflix": {},
+ "youtube": {}
+ }
+ },
+ "uni": {}
+}
diff --git a/modules/common/soispha/projects.json.license b/modules/common/soispha/projects.json.license
new file mode 100644
index 00000000..eae6a84c
--- /dev/null
+++ b/modules/common/soispha/projects.json.license
@@ -0,0 +1,9 @@
+nixos-config - My current NixOS configuration
+
+Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+SPDX-License-Identifier: GPL-3.0-or-later
+
+This file is part of my nixos-config.
+
+You should have received a copy of the License along with this program.
+If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.