aboutsummaryrefslogtreecommitdiffstats
path: root/modules/common
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/common/abstract-nord.png.license9
-rw-r--r--modules/common/default.nix99
-rw-r--r--modules/common/hooks/default.nix9
-rwxr-xr-xmodules/common/hooks/scripts/sync-git-repo.sh10
-rw-r--r--modules/common/projects.json71
-rw-r--r--modules/common/projects.json.license9
6 files changed, 114 insertions, 93 deletions
diff --git a/modules/common/abstract-nord.png.license b/modules/common/abstract-nord.png.license
new file mode 100644
index 00000000..eae6a84c
--- /dev/null
+++ b/modules/common/abstract-nord.png.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>.
diff --git a/modules/common/default.nix b/modules/common/default.nix
index 48fdf241..080d3f2a 100644
--- a/modules/common/default.nix
+++ b/modules/common/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,7 +15,10 @@
lib,
...
}: {
+ # TODO(@bpeetz): Move this file to default options in their respective modules. <2025-05-31>
+
soispha = {
+ age.enable = true;
boot.enable = true;
cleanup.enable = true;
documentation.enable = true;
@@ -16,26 +28,39 @@
enableEmoji = true;
};
+ hardware = {
+ enable = lib.mkDefault true;
+ };
home-manager.enable = true;
impermanence = {
enable = true;
directories = [
"/etc/nixos"
- "/var/log"
"/var/lib/systemd"
- "/var/lib/nixos"
];
};
+
polkit.enable = true;
power.enable = true;
+ xdg.enable = true;
services = {
adb = {
enable = true;
user = "soispha";
};
+ backup = {
+ storagebox = {
+ enable = lib.mkDefault true;
+ user = "u459143-sub1";
+ };
+ local = {
+ enable = lib.mkDefault true;
+ };
+ };
fwupd.enable = true;
+ mako.enable = true;
mpd = {
enable = true;
directories = let
@@ -56,10 +81,10 @@
printing.enable = true;
scanning.enable = true;
snapper.enable = true;
- steam.enable = false;
+ water-reminder.enable = true;
systemDiff.enable = true;
unison = {
- enable = true;
+ enable = lib.mkDefault true;
foreign.userName = "soispha";
dataDir = "${config.home-manager.users.soispha.xdg.dataHome}/unison";
@@ -72,14 +97,27 @@
config.home-manager.users.soispha.home.file);
in
[
- # already synchronized by the taskserver
+ # TODO(@bpeetz): Move these to their respective modules <2025-05-09>
+ # Already synchronized by TaskChampion sync server
"~/.local/share/task"
+ # Already synchronized by atuin sync server
+ "~/.local/share/atuin"
+ # Already synchronized by mbsync
+ "~/.local/share/maildir"
+
+
+ # "Unknown filetype (and there is no real reason to (try to) synchronize sockets)"
+ "~/.local/share/gnupg/S.gpg-agent"
+ "~/.local/share/gnupg/S.gpg-agent.browser"
+ "~/.local/share/gnupg/S.gpg-agent.extra"
+ "~/.local/share/gnupg/S.gpg-agent.ssh"
+ "~/.local/share/gnupg/S.scdaemon"
# Should not be synchronized
"~/.local/share/unison"
- # Is just to big to be synchronized (# TODO: Work around that <2024-08-31> )
- "~/media/music"
+ # These are just to big to be synchronized (# TODO: Work around that <2024-08-31> )
+ "~/.local/share/Steam"
]
++ homeManagerSymlinks;
@@ -89,28 +127,38 @@
"~/.local/share"
"~/.local/.Trash-1000"
- "~/.mozilla/firefox"
-
"~/media"
- "~/school"
+ "~/documents"
"~/repos"
];
};
};
programs = {
+ i3bar-river.enable = true;
+ i3status-rust.enable = true;
+
+ qutebrowser = {
+ enable = true;
+ };
+
nvim = {
enable = true;
shell = pkgs.zsh;
};
- atuin.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 = [
{
@@ -144,12 +192,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
@@ -172,35 +220,34 @@
pointer-12951-6505-ZSA_Technology_Labs_Moonlander_Mark_I = [["pointer-accel" "0"] ["accel-profile" "none"]];
};
backgroundStart = [
- pkgs.gammastep
- pkgs.yambar
+ # TODO(@bpeetz): Move these to systemd units/their own modules <2025-05-18>
- pkgs.mako
["${lib.getExe pkgs.swaybg}" "--image" "${./abstract-nord.png}"]
pkgs.swayidle
- pkgs.alacritty
];
};
};
- firefox.enable = true;
mpv.enable = true;
+ steam.enable = false;
+ 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.nix);
+ projects = builtins.fromJSON (builtins.readFile ./projects.json);
};
- yambar.enable = true;
+ nix-index.enable = true;
yt.enable = true;
zathura.enable = true;
zsh.enable = true;
};
- sound.enable = true;
version.enable = true;
};
}
diff --git a/modules/common/hooks/default.nix b/modules/common/hooks/default.nix
index e2d12807..5b694039 100644
--- a/modules/common/hooks/default.nix
+++ b/modules/common/hooks/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>.
{
pkgs,
lib,
diff --git a/modules/common/hooks/scripts/sync-git-repo.sh b/modules/common/hooks/scripts/sync-git-repo.sh
index ad7368f3..fe0d0085 100755
--- a/modules/common/hooks/scripts/sync-git-repo.sh
+++ b/modules/common/hooks/scripts/sync-git-repo.sh
@@ -1,5 +1,15 @@
#!/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"
diff --git a/modules/common/projects.json b/modules/common/projects.json
index 48a10f03..e8e9bc39 100644
--- a/modules/common/projects.json
+++ b/modules/common/projects.json
@@ -1,7 +1,4 @@
{
- "3d-printer": {
- "prefix": "hardware"
- },
"aoc": {
"prefix": "programming/advent_of_code"
},
@@ -15,19 +12,7 @@
"pc": {}
}
},
- "camera": {
- "prefix": "programming/zig"
- },
- "hardware": {
- "prefix": "research"
- },
- "input": {
- "prefix": "research",
- "subprojects": {
- "dotfiles": {},
- "read-things": {}
- }
- },
+ "esc": {},
"latex": {
"prefix": "programming/latex"
},
@@ -36,45 +21,10 @@
"bank": {},
"google": {},
"health": {},
+ "job": {},
"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": {
@@ -86,15 +36,8 @@
"sudo-less": {}
}
},
- "serverphone": {
- "prefix": "programming/rust"
- },
"smartphone": {
- "prefix": "hardware",
- "subprojects": {
- "airdrop": {},
- "airplay": {}
- }
+ "prefix": "hardware"
},
"system": {
"prefix": "config",
@@ -106,6 +49,7 @@
"gpg": {},
"keyboard": {},
"laptop": {},
+ "music": {},
"nvim": {},
"rss": {},
"shell": {},
@@ -121,12 +65,5 @@
"netflix": {},
"youtube": {}
}
- },
- "trinitrix": {
- "prefix": "programming/rust",
- "subprojects": {
- "documentation": {},
- "testing": {}
- }
}
}
diff --git a/modules/common/projects.json.license b/modules/common/projects.json.license
new file mode 100644
index 00000000..eae6a84c
--- /dev/null
+++ b/modules/common/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>.