summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Stachurski <j.stachurski@student.utwente.nl>2026-04-28 20:15:33 +0200
committerJakub Stachurski <j.stachurski@student.utwente.nl>2026-04-28 20:15:33 +0200
commit0785f0c5d36e442a7d65a5e35378c09903d39211 (patch)
tree885a3561a58f4d2beee5355a0ae0adf034771dd5
parentff05ad9be1e136fc8eb3f7904739be97cca51ce9 (diff)
Add KDE properly and fix live-cd
-rw-r--r--flake.nix7
-rw-r--r--home-modules/default.nix1
-rw-r--r--home-modules/desktop/default.nix1
-rw-r--r--home-modules/desktop/kde.nix28
-rw-r--r--home-modules/desktop/wayland/default.nix1
-rw-r--r--hosts/apocalypse/default.nix5
-rw-r--r--hosts/full-iso/default.nix23
-rw-r--r--modules/default.nix5
-rw-r--r--modules/desktop/common.nix8
-rw-r--r--modules/desktop/wms/default.nix1
-rw-r--r--modules/desktop/wms/kde.nix43
-rw-r--r--modules/gpg.nix6
-rw-r--r--users/live-user.nix2
-rw-r--r--users/user-common.nix2
14 files changed, 111 insertions, 22 deletions
diff --git a/flake.nix b/flake.nix
index 8b48c5f..e21d0db 100644
--- a/flake.nix
+++ b/flake.nix
@@ -70,12 +70,7 @@
treefmtExtract = name: (builtins.mapAttrs (_system: conf: conf."${name}") (treefmtStuff));
in
{
- # packages."x86_64-linux".full-iso = self.nixosConfigurations.full-iso.config.system.build.isoImage;
- packages = (
- forAllSystems (_pkgs: {
-
- })
- );
+ packages."x86_64-linux".full-iso = self.nixosConfigurations.full-iso.config.system.build.isoImage;
# for `nix fmt`
formatter = treefmtExtract "formatter";
# for `nix flake check`
diff --git a/home-modules/default.nix b/home-modules/default.nix
index 5286b0b..d8d285b 100644
--- a/home-modules/default.nix
+++ b/home-modules/default.nix
@@ -9,7 +9,6 @@
./desktop
./services
];
-
sops = {
age.keyFile = "/home/${config.home.username}/.config/sops/age/keys.txt";
defaultSopsFile = ../secrets/secrets.yaml;
diff --git a/home-modules/desktop/default.nix b/home-modules/desktop/default.nix
index 4af361e..006478e 100644
--- a/home-modules/desktop/default.nix
+++ b/home-modules/desktop/default.nix
@@ -3,6 +3,7 @@
imports = [
./wayland
./hyprland.nix
+ ./kde.nix
];
}
diff --git a/home-modules/desktop/kde.nix b/home-modules/desktop/kde.nix
new file mode 100644
index 0000000..96be671
--- /dev/null
+++ b/home-modules/desktop/kde.nix
@@ -0,0 +1,28 @@
+{
+ pkgs,
+ lib,
+ hostconfig,
+ ...
+}:
+{
+ config = lib.mkIf hostconfig.addons.desktop.kde.enable {
+ home.packages = with pkgs; [
+ (catppuccin-kde.override {
+ accents = [
+ "pink"
+ "mauve"
+ "rosewater"
+ "teal"
+ "sky"
+ ];
+ flavour = [
+ "mocha"
+ "macchiato"
+ "frappe"
+ "latte"
+ ];
+ })
+ ];
+ };
+
+}
diff --git a/home-modules/desktop/wayland/default.nix b/home-modules/desktop/wayland/default.nix
index 97f5fef..b4e09aa 100644
--- a/home-modules/desktop/wayland/default.nix
+++ b/home-modules/desktop/wayland/default.nix
@@ -10,6 +10,7 @@
./mako.nix
];
xdg.portal = lib.mkIf hostconfig.addons.desktop.wayland.enable {
+ configPackages = lib.mkIf hostconfig.addons.desktop.kde.enable [ pkgs.kdePackages.plasma-desktop ];
enable = true;
extraPortals = [
diff --git a/hosts/apocalypse/default.nix b/hosts/apocalypse/default.nix
index 0977258..e82b048 100644
--- a/hosts/apocalypse/default.nix
+++ b/hosts/apocalypse/default.nix
@@ -21,9 +21,10 @@
## Addons for this system
addons = {
- desktop.hyprland.enable = true;
+ desktop.hyprland.enable = false;
desktop.xfce.enable = true;
- desktop.cosmic.enable = true;
+ desktop.cosmic.enable = false;
+ desktop.kde.enable = true;
steam.enable = true;
virtualisation.guest = false;
diff --git a/hosts/full-iso/default.nix b/hosts/full-iso/default.nix
index 8d6199a..06b46aa 100644
--- a/hosts/full-iso/default.nix
+++ b/hosts/full-iso/default.nix
@@ -1,4 +1,4 @@
-{ modulesPath, ... }:
+{ modulesPath, lib, ... }:
{
imports = [
(modulesPath + "/installer/cd-dvd/installation-cd-base.nix")
@@ -6,8 +6,25 @@
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
+ services.hardware.bolt.enable = true;
+ powerManagement.enable = true;
- addons.desktop.hyprland.enable = true;
- addons.desktop.xfce.enable = false;
+ networking.useDHCP = lib.mkDefault true;
+
+ networking.hostName = "conscript-live"; # Define your hostname.
+ networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
+
+ hardware.bluetooth.enable = true;
+ hardware.bluetooth.settings = {
+ General = {
+ Enable = "Source,Sink,Media,Socket";
+ };
+ };
+
+ hardware.bluetooth.powerOnBoot = true;
+ services.blueman.enable = true;
+
+ addons.desktop.hyprland.enable = false;
+ addons.desktop.xfce.enable = true;
addons.gpg.enable = false;
}
diff --git a/modules/default.nix b/modules/default.nix
index 50d36db..406d37c 100644
--- a/modules/default.nix
+++ b/modules/default.nix
@@ -55,10 +55,9 @@
enableSystemSlice = true;
enableRootSlice = true;
settings.OOM = {
- SwapUsedLimit = "50%";
- DefaultMemoryPressureLimit = "50%";
+ SwapUsedLimit = "40%";
+ DefaultMemoryPressureLimit = "80%";
DefaultMemoryPressureDurationSec = 20;
-
};
};
diff --git a/modules/desktop/common.nix b/modules/desktop/common.nix
index 2632a19..09b86cc 100644
--- a/modules/desktop/common.nix
+++ b/modules/desktop/common.nix
@@ -12,7 +12,7 @@
dconf.enable = true;
thunar = {
enable = true;
- plugins = with pkgs.xfce; [
+ plugins = with pkgs; [
thunar-archive-plugin
thunar-media-tags-plugin
thunar-volman
@@ -20,15 +20,14 @@
};
};
+ # Stuff that is useful for desktop environments.
environment.systemPackages = with pkgs; [
xdg-user-dirs
zathura
- sioyek
vlc
mpv
gparted
kitty
- # qalculate
networkmanagerapplet
(catppuccin-sddm.override {
flavor = "mocha";
@@ -38,8 +37,6 @@
background = "${../sddm_bg.png}";
loginBackground = true;
})
- # disabled because it imports a unsafe package
- # surf # A basic browser in case we don't want to import a larger browser
];
# Enable CUPS to print documents.
@@ -49,6 +46,7 @@
services.libinput.enable = true;
services = {
+ # TODO: Make it so bluetooth and audio are also toggleable.
blueman.enable = true;
# Enable sound
pipewire = {
diff --git a/modules/desktop/wms/default.nix b/modules/desktop/wms/default.nix
index ea6b61e..4d8c079 100644
--- a/modules/desktop/wms/default.nix
+++ b/modules/desktop/wms/default.nix
@@ -4,5 +4,6 @@
./hyprland.nix
./xfce.nix
./cosmic.nix
+ ./kde.nix
];
}
diff --git a/modules/desktop/wms/kde.nix b/modules/desktop/wms/kde.nix
new file mode 100644
index 0000000..2120613
--- /dev/null
+++ b/modules/desktop/wms/kde.nix
@@ -0,0 +1,43 @@
+{
+ pkgs,
+ lib,
+ config,
+ ...
+}:
+let
+ cfg = config.addons.desktop.kde;
+in
+{
+ options.addons.desktop.kde = {
+ enable = lib.mkEnableOption "Enable KDE";
+ };
+
+ config = lib.mkIf cfg.enable (
+ {
+ services = {
+ desktopManager.plasma6.enable = true;
+ displayManager.sddm.enable = true;
+ displayManager.sddm.wayland.enable = true;
+ };
+
+ environment.systemPackages = with pkgs; [
+ kdePackages.kcharselect # Character map
+ kdePackages.kclock # Clock app
+ kdePackages.kcolorchooser # Color picker
+ kdePackages.ksystemlog # System log viewer
+ kdePackages.sddm-kcm # SDDM configuration module
+ kdiff3 # File/directory comparison tool
+
+ # Hardware/System Utilities (Optional)
+ hardinfo2 # System benchmarks and hardware info
+ wayland-utils # Wayland diagnostic tools
+ wl-clipboard # Wayland copy/paste support
+ ];
+ environment.plasma6.excludePackages = with pkgs; [
+ kdePackages.konversation
+ kdePackages.ktorrent
+ ];
+ }
+ // (import ../../../utils/makeWm.nix "KDE" "wayland")
+ );
+}
diff --git a/modules/gpg.nix b/modules/gpg.nix
index b2651b9..650a8be 100644
--- a/modules/gpg.nix
+++ b/modules/gpg.nix
@@ -1,4 +1,5 @@
{
+ pkgs,
config,
lib,
...
@@ -16,6 +17,11 @@ in
programs.gnupg = {
agent = {
enable = true;
+ pinentryPackage =
+ if (config.addons.desktop.kde.enable) then
+ lib.mkForce pkgs.pinentry-qt
+ else
+ lib.mkForce pkgs.pinentry-gtk2;
};
};
})
diff --git a/users/live-user.nix b/users/live-user.nix
index 226fbe7..0a6ad0a 100644
--- a/users/live-user.nix
+++ b/users/live-user.nix
@@ -27,11 +27,11 @@
homeapps = {
nvim.enable = true;
- nvim.lsp = false;
presets = {
browser.enable = true;
utils.enable = true;
+ dev.enable = true;
};
};
diff --git a/users/user-common.nix b/users/user-common.nix
index 28bf606..f43dae1 100644
--- a/users/user-common.nix
+++ b/users/user-common.nix
@@ -9,7 +9,7 @@
home-manager = {
# useUserPackages = true;
useGlobalPkgs = true;
- backupFileExtension = "bak";
+ backupFileExtension = ".bak";
sharedModules = [
(