diff options
Diffstat (limited to 'modules/common')
| -rw-r--r-- | modules/common/abstract-nord.png | bin | 140219 -> 0 bytes | |||
| -rw-r--r-- | modules/common/hooks/default.nix | 8 | ||||
| -rwxr-xr-x | modules/common/hooks/scripts/sync-git-repo.sh | 13 | ||||
| -rw-r--r-- | modules/common/projects.json | 132 | ||||
| -rw-r--r-- | modules/common/soispha/default.nix (renamed from modules/common/default.nix) | 171 | ||||
| -rw-r--r-- | modules/common/soispha/hooks/default.nix | 17 | ||||
| -rwxr-xr-x | modules/common/soispha/hooks/scripts/sync-git-repo.sh | 23 | ||||
| -rw-r--r-- | modules/common/soispha/projects.json | 71 | ||||
| -rw-r--r-- | modules/common/soispha/projects.json.license | 9 |
9 files changed, 237 insertions, 207 deletions
diff --git a/modules/common/abstract-nord.png b/modules/common/abstract-nord.png Binary files differdeleted file mode 100644 index 5ef498bf..00000000 --- a/modules/common/abstract-nord.png +++ /dev/null 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>. |
