diff options
Diffstat (limited to '')
-rw-r--r-- | modules/common/default.nix | 59 | ||||
-rw-r--r-- | modules/common/nixos_shell_configuration.nix | 68 |
2 files changed, 123 insertions, 4 deletions
diff --git a/modules/common/default.nix b/modules/common/default.nix index 690385b1..e4225e95 100644 --- a/modules/common/default.nix +++ b/modules/common/default.nix @@ -13,6 +13,15 @@ config, pkgs, lib, + # Needed for nixos-shell + libraries, + modules, + openPRsNixpkgs, + packageSets, + system, + self, + externalDependencies, + externalBinaries, ... }: { soispha = { @@ -35,6 +44,48 @@ "/var/lib/systemd" ]; }; + + nixos-shell = { + enable = lib.mkDefault true; + configuration = { + specialArgs = { + inherit + libraries + modules + ; + }; + value = lib.mkMerge [ + { + _module.args = { + inherit + # extra package sources + openPRsNixpkgs + packageSets + # extra information + system + # nix registry + self + externalDependencies + # bins + # TODO: Integrate these into `pkgs/by-name` <2024-05-22> + externalBinaries + ; + }; + } + + { + require = [ + ./nixos_shell_configuration.nix + + ../../modules + ../../modules/common + ]; + } + ]; + }; + mounts = {}; + }; + polkit.enable = true; power.enable = true; xdg.enable = true; @@ -46,11 +97,11 @@ }; backup = { storagebox = { - enable = true; + enable = lib.mkDefault true; user = "u459143-sub1"; }; local = { - enable = true; + enable = lib.mkDefault true; }; }; fwupd.enable = true; @@ -78,7 +129,7 @@ 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"; @@ -140,7 +191,7 @@ lf.enable = true; gpg.enable = true; river = { - enable = true; + enable = lib.mkDefault true; init = { rules = [ { diff --git a/modules/common/nixos_shell_configuration.nix b/modules/common/nixos_shell_configuration.nix new file mode 100644 index 00000000..bbaa8477 --- /dev/null +++ b/modules/common/nixos_shell_configuration.nix @@ -0,0 +1,68 @@ +# 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>. +{...}: { + soispha = { + networking = { + enable = true; + hostName = "lahmu"; + mode = "systemd-networkd"; + }; + + nixos-shell.enable = false; + + nixpkgs = { + enable = true; + systemName = "x86_64-linux"; + }; + + services = { + unison.enable = false; + backup = { + storagebox.enable = false; + local.enable = false; + }; + }; + + programs = { + river.enable = false; + + # We don't have access to the age secrets. + atuin.enableAge = false; + taskwarrior.enableAge = false; + }; + + locale = { + enable = true; + keyMap = "us"; + }; + + users = { + enable = true; + enableDeprecatedPlugdev = true; + + # Make logging in impossible. + # (This also removes root a obvious access-point from the virtual machine) + hashedPassword = ""; + }; + }; + + soispha = { + hardware = { + enable = false; + enableGraphics = false; + cpuType = "vm"; + }; + + disks.enable = false; + }; + + # We run without state + # system.stateVersion = null; +} |