diff --git a/_hosts/mandos/README.md b/_hosts/mandos/README.md
deleted file mode 100644
index 3cf3db5..0000000
--- a/_hosts/mandos/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# Description
-
-My desktop, reasoning for the name being the following chain of thought:
-**Mandos -> brother of manwe -> manwe used to be main pc, now mandos is**
diff --git a/_hosts/mandos/default.nix b/_hosts/mandos/default.nix
deleted file mode 100644
index 5b7bf26..0000000
--- a/_hosts/mandos/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ config, pkgs, ... }:
-{
- fileSystems = {
- "/home/chris/media" = {
- device = "ulmo:/";
- fsType = "nfs";
- };
- };
-
- environment.systemPackages = [ pkgs.ventoy-full-qt ];
- permittedInsecurePackages = [ "ventoy-qt5-1.1.05"];
- boot.supportedFilesystems = [ "nfs" ];
-
- modules = {
- boot = {
- silentBoot = true;
- animatedBoot = true;
- };
-
- system.audio.enable = true;
-
- root = {
- user = {
- full_name = "__ROOT__";
- email = "__ROOT__@${config.networking.hostName}";
- };
-
- shell = {
- default = "zsh";
- };
- };
- };
-}
diff --git a/_hosts/mandos/hardware.nix b/_hosts/mandos/hardware.nix
deleted file mode 100644
index 24f6895..0000000
--- a/_hosts/mandos/hardware.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ config, lib, pkgs, modulesPath, ... }:
-let
- inherit (lib.modules) mkDefault;
-in
-{
- imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
-
- fileSystems = {
- "/" ={
- device = "/dev/disk/by-uuid/8c4eaf57-fdb2-4c4c-bcc0-74e85a1c7985";
- fsType = "ext4";
- };
-
- "/boot" = {
- device = "/dev/disk/by-uuid/C842-316A";
- fsType = "vfat";
- options = [ "fmask=0022" "dmask=0022" ];
- };
- };
-
- swapDevices = [
- { device = "/dev/disk/by-uuid/0ddf001a-5679-482e-b254-04a1b9094794"; }
- ];
-
- boot = {
- initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
- initrd.kernelModules = [ ];
- kernelModules = [ "kvm-amd" ];
- kernelParams = [];
- extraModulePackages = [ ];
- };
-
- nixpkgs.hostPlatform = mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/_hosts/mandos/users/chris/default.nix b/_hosts/mandos/users/chris/default.nix
deleted file mode 100644
index 96461c8..0000000
--- a/_hosts/mandos/users/chris/default.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-{ ... }:
-{
- user = {
- full_name = "Chris Kruining";
- email = "chris@kruining.eu";
- is_trusted = true;
- };
-
- themes = {
- enable = true;
- theme = "everforest";
- polarity = "dark";
- };
-
- develop = {
- rust.enable = true;
- js.enable = true;
- dotnet.enable = true;
- };
-
- desktop = {
- plasma = {
- enable = true;
- autoLogin = true;
- };
-
- applications = {
- communication.enable = true;
- email.enable = true;
- office.enable = true;
- steam.enable = true;
- recording.enable = true;
- studio.enable = true;
- };
-
- terminal = {
- default = "ghostty";
- alacritty.enable = true;
- ghostty.enable = true;
- };
-
- editors = {
- default = "zed";
- vscodium.enable = true;
- zed.enable = true;
- nvim.enable = true;
- nano.enable = true;
- kate.enable = true;
- };
-
- browsers = {
- default = "chromium";
- chrome.enable = true;
- ladybird.enable = true;
- };
-
- games = {
- minecraft.enable = true;
- };
- };
-
- shell = {
- default = "zsh";
- };
-}
diff --git a/_hosts/manwe/default.nix b/_hosts/manwe/default.nix
deleted file mode 100644
index 62bc7fe..0000000
--- a/_hosts/manwe/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ config, pkgs, ... }:
-{
- fileSystems = {
- "/home/chris/games" = {
- device = "/dev/disk/by-label/games";
- fsType = "ext4";
- };
-
- "/home/chris/data" = {
- device = "/dev/disk/by-label/Data";
- fsType = "ntfs-3g";
- options = [ "rw" "uid=chris" ];
- };
- };
-
- modules = {
- boot = {
- silentBoot = true;
- animatedBoot = true;
- };
-
- desktop.gaming.enable = true;
-
- system.audio.enable = true;
-
- root = {
- user = {
- full_name = "__ROOT__";
- email = "__ROOT__@${config.networking.hostName}";
- };
-
- shell = {
- default = "zsh";
- };
- };
- };
-}
diff --git a/_hosts/manwe/hardware.nix b/_hosts/manwe/hardware.nix
deleted file mode 100644
index 35f6a44..0000000
--- a/_hosts/manwe/hardware.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ config, lib, pkgs, modulesPath, ... }:
-let
- inherit (lib.modules) mkDefault;
-in
-{
- imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
-
- fileSystems = {
- "/" ={
- device = "/dev/disk/by-uuid/8c4eaf57-fdb2-4c4c-bcc0-74e85a1c7985";
- fsType = "ext4";
- };
-
- "/boot" = {
- device = "/dev/disk/by-uuid/C842-316A";
- fsType = "vfat";
- options = [ "fmask=0022" "dmask=0022" ];
- };
- };
-
- swapDevices = [
- { device = "/dev/disk/by-uuid/0ddf001a-5679-482e-b254-04a1b9094794"; }
- ];
-
- boot = {
- initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
- initrd.kernelModules = [ ];
- kernelModules = [ "kvm-intel" ];
- kernelParams = [];
- extraModulePackages = [ ];
- };
-
- nixpkgs.hostPlatform = mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/_hosts/manwe/users/chris/default.nix b/_hosts/manwe/users/chris/default.nix
deleted file mode 100644
index 96461c8..0000000
--- a/_hosts/manwe/users/chris/default.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-{ ... }:
-{
- user = {
- full_name = "Chris Kruining";
- email = "chris@kruining.eu";
- is_trusted = true;
- };
-
- themes = {
- enable = true;
- theme = "everforest";
- polarity = "dark";
- };
-
- develop = {
- rust.enable = true;
- js.enable = true;
- dotnet.enable = true;
- };
-
- desktop = {
- plasma = {
- enable = true;
- autoLogin = true;
- };
-
- applications = {
- communication.enable = true;
- email.enable = true;
- office.enable = true;
- steam.enable = true;
- recording.enable = true;
- studio.enable = true;
- };
-
- terminal = {
- default = "ghostty";
- alacritty.enable = true;
- ghostty.enable = true;
- };
-
- editors = {
- default = "zed";
- vscodium.enable = true;
- zed.enable = true;
- nvim.enable = true;
- nano.enable = true;
- kate.enable = true;
- };
-
- browsers = {
- default = "chromium";
- chrome.enable = true;
- ladybird.enable = true;
- };
-
- games = {
- minecraft.enable = true;
- };
- };
-
- shell = {
- default = "zsh";
- };
-}
diff --git a/_hosts/orome/default.nix b/_hosts/orome/default.nix
deleted file mode 100644
index be2ce0c..0000000
--- a/_hosts/orome/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ config, ... }:
-{
- modules = {
- system.audio.enable = true;
- system.bluetooth.enable = true;
-
- authentication.himmelblau.enable = true;
-
- root = {
- user = {
- full_name = "__ROOT__";
- email = "__ROOT__@${config.networking.hostName}";
- };
-
- shell = {
- default = "zsh";
- };
- };
- };
-}
diff --git a/_hosts/orome/hardware.nix b/_hosts/orome/hardware.nix
deleted file mode 100644
index 2d7a84e..0000000
--- a/_hosts/orome/hardware.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ config, lib, pkgs, modulesPath, ... }:
-let
- inherit (lib.modules) mkDefault;
-in
-{
- imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/e60745c9-b3ea-4aeb-9c5c-b67ef1730826";
- fsType = "ext4";
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/42B3-C767";
- fsType = "vfat";
- options = [ "fmask=0077" "dmask=0077" ];
- };
-
- swapDevices = [];
-
- boot = {
- initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
- initrd.kernelModules = [ ];
- kernelModules = [ "kvm-intel" ];
- kernelParams = [];
- extraModulePackages = [ ];
- };
-
- services.logrotate.checkConfig = false;
- nixpkgs.hostPlatform = mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/_hosts/orome/users/chris/default.nix b/_hosts/orome/users/chris/default.nix
deleted file mode 100644
index 951ea48..0000000
--- a/_hosts/orome/users/chris/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ ... }:
-{
- user = {
- full_name = "Chris Kruining";
- email = "chris@kruining.eu";
- is_trusted = true;
- };
-
- themes = {
- enable = true;
- theme = "everforest";
- polarity = "dark";
- };
-
- develop = {
- rust.enable = true;
- js.enable = true;
- dotnet.enable = true;
- };
-
- desktop = {
- plasma = {
- enable = true;
- autoLogin = true;
- };
-
- applications = {
- communication.enable = true;
- email.enable = true;
- office.enable = true;
- };
-
- terminal = {
- default = "ghostty";
- ghostty.enable = true;
- };
-
- editors = {
- default = "zed";
- vscodium.enable = true;
- zed.enable = true;
- nvim.enable = true;
- nano.enable = true;
- };
-
- browsers = {
- default = "chromium";
- firefox.enable = true;
- chrome.enable = true;
- };
- };
-
-
- shell = {
- default = "zsh";
- };
-}
diff --git a/_hosts/tulkas/default.nix b/_hosts/tulkas/default.nix
deleted file mode 100644
index 6c4c2cb..0000000
--- a/_hosts/tulkas/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, config, ... }:let
- inherit (lib) mkForce;
-in
-{
- modules = {
- system.audio.enable = true;
-
- desktop.gaming.enable = true;
-
- root = {
- user = {
- full_name = "__ROOT__";
- email = "__ROOT__@${config.networking.hostName}";
- };
-
- shell = {
- default = "zsh";
- toolset.git.enable = mkForce false;
- };
- };
- };
-}
diff --git a/_hosts/tulkas/hardware.nix b/_hosts/tulkas/hardware.nix
deleted file mode 100644
index acd5d75..0000000
--- a/_hosts/tulkas/hardware.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ config, lib, modulesPath, ... }:
-let
- inherit (lib.modules) mkDefault;
-in
-{
- imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/aa438c4c-d193-436b-91ca-c386c0688265";
- fsType = "ext4";
- };
-
- fileSystems."/boot" = {
- device = "/dev/disk/by-uuid/89B8-0702";
- fsType = "vfat";
- };
-
- swapDevices = [
- { device = "/dev/disk/by-uuid/beddca5c-1ecc-4a46-9fc5-fd918eed8f2a"; }
- ];
-
- boot = {
- initrd.availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ];
- initrd.kernelModules = [ ];
- kernelModules = [ "kvm-amd" ];
- kernelParams = [];
- extraModulePackages = [ ];
- };
-
- nixpkgs.hostPlatform = mkDefault "x86_64-linux";
- hardware.cpu.amd.updateMicrocode = mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/_hosts/tulkas/users/chris/default.nix b/_hosts/tulkas/users/chris/default.nix
deleted file mode 100644
index 3f88927..0000000
--- a/_hosts/tulkas/users/chris/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, ... }: let
- inherit (lib) mkForce;
-in
-{
- user = {
- full_name = "Chris Kruining";
- email = "chris@kruining.eu";
- is_trusted = true;
- };
-
- themes = {
- enable = true;
- theme = "everforest";
- polarity = "dark";
- };
-
- desktop = {
- terminal = {
- default = "ghostty";
- ghostty.enable = true;
- };
-
- editors = {
- default = "nano";
- nano.enable = true;
- };
- };
-
- shell = {
- default = "zsh";
- toolset.git.enable = mkForce false;
- };
-}
diff --git a/_hosts/ulmo/README.md b/_hosts/ulmo/README.md
deleted file mode 100644
index dd557d1..0000000
--- a/_hosts/ulmo/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# Description
-
-My current server, reasoning for the name being the following chain of thought:
-**Ulmo -> the king of the sea -> the sea provides -> services are provided -> server runs services**
\ No newline at end of file
diff --git a/_hosts/ulmo/default.nix b/_hosts/ulmo/default.nix
deleted file mode 100644
index a0ea9a0..0000000
--- a/_hosts/ulmo/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ config, ... }:
-{
- config = {
- fileSystems."/var/media" = {
- device = "/dev/disk/by-label/data";
- fsType = "ext4";
- };
-
- modules = {
- networking = {
- ssh.enable = true;
- nfs.enable = true;
- };
-
- services = {
- auth.authelia.enable = true;
- auth.zitadel.enable = true;
- media.enable = true;
- nextcloud.enable = true;
- };
-
- root = {
- user = {
- full_name = "__ROOT__";
- email = "__ROOT__@${config.networking.hostName}";
- };
-
- shell = {
- default = "zsh";
- };
- };
- };
- };
-}
diff --git a/_hosts/ulmo/hardware.nix b/_hosts/ulmo/hardware.nix
deleted file mode 100644
index f9c83bd..0000000
--- a/_hosts/ulmo/hardware.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ config, lib, modulesPath, ... }:
-let
- inherit (lib.modules) mkDefault;
-in
-{
- imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/dd518f17-61c9-4831-b1bd-e1cc2af292aa";
- fsType = "ext4";
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/0A56-EBFE";
- fsType = "vfat";
- options = [ "fmask=0022" "dmask=0022" ];
- };
-
- swapDevices = [ ];
-
- boot = {
- initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
- initrd.kernelModules = [ ];
- kernelModules = [ "kvm-intel" ];
- kernelParams = [];
- extraModulePackages = [ ];
- };
-
- nixpkgs.hostPlatform = mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/_modules/home/desktop/browsers/default.nix b/_modules/home/desktop/browsers/default.nix
deleted file mode 100644
index 6bdfa36..0000000
--- a/_modules/home/desktop/browsers/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- options,
- config,
- lib,
- pkgs,
- user,
- ...
-}: let
- inherit (lib.modules) mkIf;
- cfg = config.modules.${user}.desktop.browsers;
-in {
- options.modules.${user}.desktop.browsers = let
- inherit (lib.options) mkOption;
- inherit (lib.types) nullOr str;
- in {
- default = mkOption {
- type = nullOr str;
- default = null;
- description = "Default system browser";
- example = "firefox";
- };
- };
-
- config = mkIf (cfg.default != null) {
- home-manager.users.${user}.home.sessionVariables.BROWSER = cfg.default;
- };
-}
diff --git a/_modules/home/desktop/browsers/firefox.nix b/_modules/home/desktop/browsers/firefox.nix
deleted file mode 100644
index 7512ec9..0000000
--- a/_modules/home/desktop/browsers/firefox.nix
+++ /dev/null
@@ -1,233 +0,0 @@
-{ inputs, options, config, lib, pkgs, user, ... }:
-let
- inherit (builtins) toJSON;
- inherit (lib.attrsets) attrValues mapAttrsToList;
- inherit (lib.modules) mkIf mkMerge;
- inherit (lib.strings) concatStrings;
-
- cfg = config.modules.${user}.desktop.browsers.firefox;
- usr = config.users.users.${user};
-in {
- options.modules.${user}.desktop.browsers.firefox = let
- inherit (lib.options) mkEnableOption;
- inherit (lib.types) attrsOf oneOf bool int lines str;
- inherit (lib.my) mkOpt mkOpt';
- in {
- enable = mkEnableOption "Gecko-based libre browser";
- privacy.enable = mkEnableOption "Privacy Focused Firefox fork";
-
- profileName = mkOpt str usr.name;
- settings = mkOpt' (attrsOf (oneOf [bool int str])) {} ''
- Firefox preferences set in user.js
- '';
- extraConfig = mkOpt' lines "" ''
- Extra lines to add to user.js
- '';
- userChrome = mkOpt' lines "" "CSS Styles for Firefox's interface";
- userContent = mkOpt' lines "" "Global CSS Styles for websites";
- };
-
- config = mkMerge [
- (mkIf (config.modules.${user}.desktop.type == "wayland") {
- environment.variables.MOZ_ENABLE_WAYLAND = "1";
- })
-
- (mkIf cfg.enable {
- modules.${user}.desktop.browsers.firefox.settings = {
- # TAB cycle URL's, not buttons..
- "browser.toolbars.keyboard_navigation" = false;
- # Disable annoying translation pop-up!
- "browser.translations.automaticallyPopup" = false;
- # Enables dark-themed flash before page-load:
- "ui.systemUsesDarkTheme" = "1";
- # Developer tools -> uses dark theme
- "devtools.theme" = "dark";
- # FIXME: IM-Wheel -> Manual scroll speed ctrl bcs == buggy...
- "mousewheel.min_line_scroll_amount" = 35;
- # Enables ETP = decent security -> firefox containers = redundent
- "browser.contentblocking.category" = "strict";
- "privacy.donottrackheader.enabled" = true;
- "privacy.donottrackheader.value" = 1;
- "privacy.purge_trackers.enabled" = true;
- # Syncs Firefox toolbar settings across machines
- # WARNING: May not work across OS'es
- "services.sync.prefs.sync.browser.uiCustomization.state" = true;
- # Enables userContent.css and userChrome.css for our theme modules
- "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
- # Stop creating ~/Downloads!
- "browser.download.dir" = "${usr.home}/downloads";
- # Disables built-in password manager -> use external PM!
- "signon.rememberSignons" = false;
- # Firefox, DO NOT CHECK if you are the default browser..
- "browser.shell.checkDefaultBrowser" = false;
- # Disables "New Tab Page" feature
- "browser.newtabpage.enabled" = false;
- # Disables Activity Stream
- "browser.newtabpage.activity-stream.enabled" = false;
- "browser.newtabpage.activity-stream.telemetry" = false;
- # Disables new tab tile ads & preload
- "browser.newtabpage.enhanced" = false;
- "browser.newtabpage.introShown" = true;
- "browser.newtab.preload" = false;
- "browser.newtabpage.directory.ping" = "";
- "browser.newtabpage.directory.source" = "data:text/plain,{}";
- # Reduces search engine noise in the urlbar's completion window
- # PS: Shortcuts and suggestions still work
- "browser.urlbar.suggest.searches" = false;
- "browser.urlbar.shortcuts.bookmarks" = false;
- "browser.urlbar.shortcuts.history" = false;
- "browser.urlbar.shortcuts.tabs" = false;
- "browser.urlbar.showSearchSuggestionsFirst" = false;
- "browser.urlbar.speculativeConnect.enabled" = false;
- # Prevents search terms from being sent to ISP
- "browser.urlbar.dnsResolveSingleWordsAfterSearch" = 0;
- # Disables sponsored search results
- "browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
- "browser.urlbar.suggest.quicksuggest.sponsored" = false;
- # Shows whole URL in address bar
- "browser.urlbar.trimURLs" = false;
- # Disables non-useful funcionality of certain features
- "browser.disableResetPrompt" = true;
- "browser.onboarding.enabled" = false;
- "browser.aboutConfig.showWarning" = false;
- "media.videocontrols.picture-in-picture.video-toggle.enabled" = false;
- "extensions.pocket.enabled" = false;
- "extensions.shield-recipe-client.enabled" = false;
- "reader.parse-on-load.enabled" = false;
- # Allow seperate search-engine usage in private mode!
- "browser.search.separatePrivateDefault.ui.enabled" = true;
-
- # Security-oriented defaults:
- "security.family_safety.mode" = 0;
- # https://blog.mozilla.org/security/2016/10/18/phasing-out-sha-1-on-the-public-web/
- "security.pki.sha1_enforcement_level" = 1;
- # https://github.com/tlswg/tls13-spec/issues/1001
- "security.tls.enable_0rtt_data" = false;
- # Uses Mozilla geolocation service instead of Google if given permission
- "geo.provider.network.url" = "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
- "geo.provider.use_gpsd" = false;
- # https://support.mozilla.org/en-US/kb/extension-recommendations
- "browser.newtabpage.activity-stream.asrouter.userprefs.cfr" = false;
- "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" =
- false;
- "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" =
- false;
- "extensions.htmlaboutaddons.recommendations.enabled" = false;
- "extensions.htmlaboutaddons.discover.enabled" = false;
- "extensions.getAddons.showPane" = false; # Uses Google Analytics
- "browser.discovery.enabled" = false;
- # Reduces File IO / SSD abuse, 15 seconds -> 30 minutes
- "browser.sessionstore.interval" = "1800000";
- # Disables battery API
- "dom.battery.enabled" = false;
- # Disable cross-site ad-view tracking
- "dom.private-attribution.submission.enabled" = false;
- # Disables "beacon" asynchronous HTTP transfers (used for analytics)
- "beacon.enabled" = false;
- # Disables pinging URIs specified in HTML ping= attributes
- "browser.send_pings" = false;
- # Disables gamepad API to prevent USB device enumeration
- "dom.gamepad.enabled" = false;
- # Prevents guessing domain names on invalid entry in URL-bar
- "browser.fixup.alternate.enabled" = false;
- # Disables telemetry settings
- "toolkit.telemetry.unified" = false;
- "toolkit.telemetry.enabled" = false;
- "toolkit.telemetry.server" = "data:,";
- "toolkit.telemetry.archive.enabled" = false;
- "toolkit.telemetry.coverage.opt-out" = true;
- "toolkit.coverage.opt-out" = true;
- "toolkit.coverage.endpoint.base" = "";
- "experiments.supported" = false;
- "experiments.enabled" = false;
- "experiments.manifest.uri" = "";
- "browser.ping-centre.telemetry" = false;
- # https://mozilla.github.io/normandy/
- "app.normandy.enabled" = false;
- "app.normandy.api_url" = "";
- "app.shield.optoutstudies.enabled" = false;
- # Disables health reports (basically more telemetry)
- "datareporting.healthreport.uploadEnabled" = false;
- "datareporting.healthreport.service.enabled" = false;
- "datareporting.policy.dataSubmissionEnabled" = false;
- # Disables crash reports
- "breakpad.reportURL" = "";
- "browser.tabs.crashReporting.sendReport" = false;
- # Prevents the submission of backlogged reports
- "browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
-
- # Disable automatic Form autofill
- "browser.formfill.enable" = false;
- "extensions.formautofill.addresses.enabled" = false;
- "extensions.formautofill.available" = "off";
- "extensions.formautofill.creditCards.available" = false;
- "extensions.formautofill.creditCards.enabled" = false;
- "extensions.formautofill.heuristics.enabled" = false;
- };
-
- # Use a stable profile name so we can target it in themes
- home-manager.users.${user}.home = {
- packages = let
- inherit (pkgs) makeDesktopItem;
- inherit (inputs.firefox.packages.${pkgs.system}) firefox-nightly-bin;
- in [
- firefox-nightly-bin
- (makeDesktopItem {
- name = "firefox-nightly-private";
- desktopName = "Firefox Nightly (Private)";
- genericName = "Launch a private Firefox Nightly instance";
- icon = "firefox-nightly";
- exec = "${lib.getExe firefox-nightly-bin} --private-window";
- categories = ["Network" "WebBrowser"];
- })
- ];
-
- file = let
- cfgPath = ".mozilla/firefox";
- in {
- firefox-profiles = {
- target = "${cfgPath}/profiles.ini";
- text = ''
- [Profile0]
- Name=default
- IsRelative=1
- Path=${cfg.profileName}.default
- Default=1
-
- [General]
- StartWithLastProfile=1
- Version=2
- '';
- };
-
- user-js = mkIf (cfg.settings != {} || cfg.extraConfig != "") {
- target = "${cfgPath}/${cfg.profileName}.default/user.js";
- text = ''
- ${concatStrings (mapAttrsToList (name: value: ''
- user_pref("${name}", ${toJSON value});
- '')
- cfg.settings)}
- ${cfg.extraConfig}
- '';
- };
-
- user-chrome = mkIf (cfg.userChrome != "") {
- target = "${cfgPath}/${cfg.profileName}.default/chrome/userChrome.css";
- text = cfg.userChrome;
- };
-
- user-content = mkIf (cfg.userContent != "") {
- target = "${cfgPath}/${cfg.profileName}.default/chrome/userContent.css";
- text = cfg.userContent;
- };
- };
- };
- })
-
- (mkIf cfg.privacy.enable {
- home-manager.users.${user}.home.packages = attrValues {
- inherit (pkgs) librewolf;
- };
- })
- ];
-}
diff --git a/_modules/home/desktop/default.nix b/_modules/home/desktop/default.nix
deleted file mode 100644
index d281f4e..0000000
--- a/_modules/home/desktop/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ lib, user, ... }:
-let
- inherit (lib.types) either str;
- inherit (lib.my) mkOpt;
-in
-{
- options.modules.${user}.desktop = {
- type = mkOpt (either str null) "wayland";
- };
-}
diff --git a/_modules/home/desktop/terminal/alacritty.nix b/_modules/home/desktop/terminal/alacritty.nix
deleted file mode 100644
index 76e528d..0000000
--- a/_modules/home/desktop/terminal/alacritty.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- config,
- lib,
- pkgs,
- user,
- ...
-}: let
- inherit (lib.meta) getExe;
- inherit (lib.modules) mkIf mkMerge;
-in {
- options.modules.${user}.desktop.terminal.alacritty = let
- inherit (lib.options) mkEnableOption;
- in { enable = mkEnableOption "OpenGL terminal emulator"; };
-
- config = mkIf config.modules.${user}.desktop.terminal.alacritty.enable {
- modules.${user}.shell.toolset.tmux.enable = true;
-
- home-manager.users.${user}.programs.alacritty = {
- enable = true;
-
- settings = mkMerge [
- {
- env = {
- TERM = "xterm-256color";
- WINIT_X11_SCALE_FACTOR = "1.0";
- };
-
- window.dynamic_title = true;
-
- scrolling = {
- history = 5000;
- multiplier = 3;
- };
-
- selection = {
- semantic_escape_chars = '',│`|:"' ()[]{}<>'';
- save_to_clipboard = false;
- };
-
- general.live_config_reload = true;
-
- terminal.shell = {
- program = "${getExe pkgs.zsh}";
- args = ["-l" "-c" "tmux new || tmux"];
- };
- }
- ];
- };
- };
-}
diff --git a/_modules/home/desktop/terminal/default.nix b/_modules/home/desktop/terminal/default.nix
deleted file mode 100644
index d408215..0000000
--- a/_modules/home/desktop/terminal/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ config, options, lib, pkgs, user, ... }:
-let
- inherit (lib.modules) mkDefault mkIf mkMerge;
-
- cfg = config.modules.${user}.desktop.terminal;
-in {
- options.modules.${user}.desktop.terminal = let
- inherit (lib.options) mkOption;
- inherit (lib.types) str;
- in {
- default = mkOption {
- type = str;
- default = "alacrity";
- description = "Default terminal";
- example = "alacrity";
- };
- };
-
- config = mkMerge [
- {
- home-manager.users.${user}.home.sessionVariables.TERMINAL = cfg.default;
- }
- ];
-}
diff --git a/_modules/home/desktop/terminal/ghostty.nix b/_modules/home/desktop/terminal/ghostty.nix
deleted file mode 100644
index 7c2eb29..0000000
--- a/_modules/home/desktop/terminal/ghostty.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- config,
- options,
- lib,
- pkgs,
- user,
- ...
-}: let
- inherit (builtins) toString;
- inherit (lib.meta) getExe;
- inherit (lib.modules) mkIf mkMerge;
-in {
- options.modules.${user}.desktop.terminal.ghostty = let
- inherit (lib.options) mkEnableOption;
- in { enable = mkEnableOption "ghostty"; };
-
- config = mkIf config.modules.${user}.desktop.terminal.ghostty.enable {
- environment.systemPackages = [
- pkgs.ghostty
- ];
-
- modules.${user}.shell.toolset.tmux.enable = true;
-
- home-manager.users.${user}.programs.ghostty = {
- enable = true;
- settings = {
- background-blur-radius = 20;
- theme = "dark:stylix,light:stylix";
- window-theme = (config.modules.${user}.themes.polarity or "dark");
- background-opacity = 0.8;
- minimum-contrast = 1.1;
- };
- };
- };
-}
diff --git a/_modules/home/develop/default.nix b/_modules/home/develop/default.nix
deleted file mode 100644
index ecb8664..0000000
--- a/_modules/home/develop/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ config, lib, user, ... }:
-let
- inherit (lib.modules) mkIf;
-in
-{
- options.modules.${user}.develop = let
- inherit (lib.options) mkEnableOption;
- in
- {
- xdg.enable = mkEnableOption "XDG-related conf" // { default = true; };
- };
-
- config = mkIf config.modules.${user}.develop.xdg.enable {
-
- };
-}
diff --git a/_modules/home/develop/dotnet.nix b/_modules/home/develop/dotnet.nix
deleted file mode 100644
index 386d0a0..0000000
--- a/_modules/home/develop/dotnet.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ inputs, config, options, lib, pkgs, user, ... }:
-let
- inherit (lib.attrsets) attrValues;
- inherit (lib.modules) mkIf mkMerge;
-in
-{
- options.modules.${user}.develop.dotnet = let
- inherit (lib.options) mkEnableOption;
- in {
- enable = mkEnableOption ".NET developmnt";
- };
-
- config = mkIf config.modules.${user}.develop.dotnet.enable {
- home-manager.users.${user}.home.packages = attrValues {
- inherit (pkgs) dotnet-sdk_8;
- };
- };
-}
diff --git a/_modules/home/develop/js.nix b/_modules/home/develop/js.nix
deleted file mode 100644
index 80ced1b..0000000
--- a/_modules/home/develop/js.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ inputs, config, options, lib, pkgs, user, ... }:
-let
- inherit (lib.attrsets) attrValues;
- inherit (lib.modules) mkIf mkMerge;
-in
-{
- options.modules.${user}.develop.js = let
- inherit (lib.options) mkEnableOption;
- in {
- enable = mkEnableOption "JS developmnt";
- };
-
- config = mkMerge [
- (mkIf config.modules.${user}.develop.js.enable {
- home-manager.users.${user}.home.packages = with pkgs; [
- bun
- nodejs
- nodePackages_latest.typescript-language-server
- ];
-
- })
-
- (mkIf config.modules.${user}.develop.xdg.enable {
- # home = {
- # };
- })
- ];
-}
diff --git a/_modules/home/develop/rust.nix b/_modules/home/develop/rust.nix
deleted file mode 100644
index a194ab6..0000000
--- a/_modules/home/develop/rust.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ inputs, config, options, lib, pkgs, user, ... }:
-let
- inherit (lib.attrsets) attrValues;
- inherit (lib.modules) mkIf mkMerge;
- inherit (lib.meta) getExe;
-in
-{
- options.modules.${user}.develop.rust = let
- inherit (lib.options) mkEnableOption;
- in {
- enable = mkEnableOption "Rust developmnt";
- };
-
- config = mkMerge [
-# (mkIf config.modules.${user}.develop.rust.enable {
-# # nixpkgs.overlays = [inputs.rust.overlays.default];
-#
-# home-manager.users.${user}.home.packages = attrValues {
-# # rust-package = pkgs.rust-bin.stable.latest.default;
-# # inherit (pkgs) rust-analyzer rust-script;
-# };
-#
-# environment.shellAliases = {
-# rs = "rustc";
-# ca = "cargo";
-# };
-# })
-#
-# (mkIf config.module.${user}s.develop.xdg.enable {
-# home-manager.users.${user}.home = {
-# sessionVariables.CARGO_HOME = "$XDG_DATA_HOME/cargo";
-# sessionPath = ["$CARGO_HOME/bin"];
-# };
-# })
- ];
-}
diff --git a/_modules/system/services/default.nix b/_modules/system/services/default.nix
deleted file mode 100644
index 4afadc5..0000000
--- a/_modules/system/services/default.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{ ... }:
-{
- options.modules.services = {};
-}
diff --git a/_modules/system/shell/default.nix b/_modules/system/shell/default.nix
deleted file mode 100644
index c1a3a90..0000000
--- a/_modules/system/shell/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ config, lib, ... }:
-let
- inherit (lib.modules) mkIf;
-
- cfg = config.modules.shell;
-in
-{
- options.modules.shell = {};
-
- config = mkIf cfg.enable {};
-}
diff --git a/_modules/system/shell/zsh.nix b/_modules/system/shell/zsh.nix
deleted file mode 100644
index c54164b..0000000
--- a/_modules/system/shell/zsh.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ config, lib, ... }: let
- inherit (lib.options) mkEnableOption;
- inherit (lib.modules) mkIf;
-
- cfg = config.modules.shell.zsh;
-in
-{
- options.modules.shell.zsh = {
- enable = mkEnableOption "enable ZSH";
- };
-
- config = mkIf cfg.enable {
- programs.zsh.enable = true;
- };
-}
diff --git a/_modules/system/system/audio.nix b/_modules/system/system/audio.nix
deleted file mode 100644
index 1e71a76..0000000
--- a/_modules/system/system/audio.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ config, lib, pkgs, ... }:
-let
- inherit (lib.attrsets) attrValues;
- inherit (lib.modules) mkIf;
-
- cfg = config.modules.system.audio;
-in
-{
- options.modules.system.audio = let
- inherit (lib.options) mkEnableOption;
- in
- {
- enable = mkEnableOption "modern audio support";
- };
-
- config = mkIf cfg.enable {
- environment.systemPackages = with pkgs; [
- # easyeffects
- sof-firmware
- ];
-
- security.rtkit.enable = true;
-
- services.pulseaudio.enable = false;
- services.pipewire = {
- enable = true;
- wireplumber.enable = true;
- pulse.enable = true;
-
- alsa = {
- enable = true;
- support32Bit = true;
- };
- };
- };
-}
diff --git a/_modules/system/system/bluetooth.nix b/_modules/system/system/bluetooth.nix
deleted file mode 100644
index 45343c3..0000000
--- a/_modules/system/system/bluetooth.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ config, lib, ... }:
-let
- inherit (lib.modules) mkIf;
- inherit (lib.options) mkEnableOption;
-
- cfg = config.modules.system.bluetooth;
-in
-{
- options.modules.system.bluetooth = {
- enable = mkEnableOption "enable bluetooth";
- };
-
- config = mkIf cfg.enable {
- hardware = {
- bluetooth = {
- enable = true;
- powerOnBoot = true;
- };
- };
-
- services.pipewire.wireplumber.extraConfig.bluetoothEnhancements = {
- "monitor.bluez.properties" = {
- "bluez5.enable-sbc-xq" = true;
- "bluez5.enable-msbc" = true;
- "bluez5.enable-hw-volume" = true;
- "bluez5.roles" = [ "hsp_hs" "hsp_ag" "hfp_hf" "hfp_ag" ];
- };
- };
- };
-}
diff --git a/homes/x86_64-linux/chris@mandos/default.nix b/homes/x86_64-linux/chris@mandos/default.nix
new file mode 100644
index 0000000..6989314
--- /dev/null
+++ b/homes/x86_64-linux/chris@mandos/default.nix
@@ -0,0 +1,35 @@
+{ osConfig, ... }:
+{
+ home.stateVersion = osConfig.system.stateVersion;
+
+ programs.git = {
+ userName = "Chris Kruining";
+ userEmail = "chris@kruining.eu";
+ };
+
+ sneeuwvlok = {
+ defaults = {
+ shell = "zsh";
+ terminal = "ghostty";
+ browser = "zen";
+ editor = "zed";
+ };
+
+ shell = {
+ corePkgs.enable = true;
+ };
+
+ themes = {
+ enable = true;
+ theme = "everforest";
+ polarity = "dark";
+ };
+
+ application = {
+ bitwarden.enable = true;
+ teamspeak.enable = true;
+ steam.enable = true;
+ zen.enable = true;
+ };
+ };
+}
diff --git a/homes/x86_64-linux/chris@manwe/default.nix b/homes/x86_64-linux/chris@manwe/default.nix
index 7b7c8f3..cd6fa1a 100644
--- a/homes/x86_64-linux/chris@manwe/default.nix
+++ b/homes/x86_64-linux/chris@manwe/default.nix
@@ -8,8 +8,14 @@
};
sneeuwvlok = {
+ defaults = {
+ shell = "zsh";
+ terminal = "ghostty";
+ browser = "zen";
+ editor = "zed";
+ };
+
shell = {
- default = "zsh";
corePkgs.enable = true;
};
@@ -18,5 +24,34 @@
theme = "everforest";
polarity = "dark";
};
+
+ development = {
+ rust.enable = true;
+ javascript.enable = true;
+ dotnet.enable = true;
+ };
+
+ application = {
+ bitwarden.enable = true;
+ discord.enable = true;
+ ladybird.enable = true;
+ obs.enable = true;
+ onlyoffice.enable = true;
+ signal.enable = true;
+ steam.enable = true;
+ studio.enable = true;
+ teamspeak.enable = true;
+ thunderbird.enable = true;
+ zen.enable = true;
+ };
+
+ shell.zsh.enable = true;
+ terminal.ghostty.enable = true;
+
+ editor = {
+ zed.enable = true;
+ nvim.enable = true;
+ nano.enable = true;
+ };
};
}
diff --git a/homes/x86_64-linux/chris@orome/default.nix b/homes/x86_64-linux/chris@orome/default.nix
new file mode 100644
index 0000000..dece506
--- /dev/null
+++ b/homes/x86_64-linux/chris@orome/default.nix
@@ -0,0 +1,48 @@
+{ osConfig, ... }:
+{
+ home.stateVersion = osConfig.system.stateVersion;
+
+ programs.git = {
+ userName = "Chris Kruining";
+ userEmail = "chris@kruining.eu";
+ };
+
+ sneeuwvlok = {
+ defaults = {
+ shell = "zsh";
+ terminal = "ghostty";
+ browser = "zen";
+ editor = "zed";
+ };
+
+ shell = {
+ corePkgs.enable = true;
+ };
+
+ themes = {
+ enable = true;
+ theme = "everforest";
+ polarity = "dark";
+ };
+
+ development = {
+ javascript.enable = true;
+ dotnet.enable = true;
+ };
+
+ application = {
+ bitwarden.enable = true;
+ onlyoffice.enable = true;
+ signal.enable = true;
+ zen.enable = true;
+ };
+
+ shell.zsh.enable = true;
+ terminal.ghostty.enable = true;
+
+ editor = {
+ zed.enable = true;
+ nano.enable = true;
+ };
+ };
+}
diff --git a/homes/x86_64-linux/chris@tulkas/default.nix b/homes/x86_64-linux/chris@tulkas/default.nix
new file mode 100644
index 0000000..6989314
--- /dev/null
+++ b/homes/x86_64-linux/chris@tulkas/default.nix
@@ -0,0 +1,35 @@
+{ osConfig, ... }:
+{
+ home.stateVersion = osConfig.system.stateVersion;
+
+ programs.git = {
+ userName = "Chris Kruining";
+ userEmail = "chris@kruining.eu";
+ };
+
+ sneeuwvlok = {
+ defaults = {
+ shell = "zsh";
+ terminal = "ghostty";
+ browser = "zen";
+ editor = "zed";
+ };
+
+ shell = {
+ corePkgs.enable = true;
+ };
+
+ themes = {
+ enable = true;
+ theme = "everforest";
+ polarity = "dark";
+ };
+
+ application = {
+ bitwarden.enable = true;
+ teamspeak.enable = true;
+ steam.enable = true;
+ zen.enable = true;
+ };
+ };
+}
diff --git a/_modules/home/desktop/browsers/chrome.nix b/modules/home/application/chrome/default.nix
similarity index 70%
rename from _modules/home/desktop/browsers/chrome.nix
rename to modules/home/application/chrome/default.nix
index 5a7143c..ac9f5ef 100644
--- a/_modules/home/desktop/browsers/chrome.nix
+++ b/modules/home/application/chrome/default.nix
@@ -1,18 +1,17 @@
-{ config, lib, pkgs, user, ... }:
+{ inputs, config, lib, pkgs, namespace, ... }:
let
- inherit (lib.options) mkEnableOption;
- inherit (lib.modules) mkIf;
- inherit (builtins) fetchurl;
+ inherit (lib) mkIf mkEnableOption;
- cfg = config.modules.${user}.desktop.browsers.chrome;
-in {
- options.modules.${user}.desktop.browsers.chrome = {
- enable = mkEnableOption "Enable Chrome";
+ cfg = config.${namespace}.application.chrome;
+in
+{
+ options.${namespace}.application.chrome = {
+ enable = mkEnableOption "enable chrome";
};
config = mkIf cfg.enable {
- home-manager.users.${user}.home.packages = [
- pkgs.chromium
+ home.packages = with pkgs; [
+ chromium
# (pkgs.ungoogled-chromium.override {
# commandLineArgs = [
# "--enable-features=AcceleratedVideoEncoder"
@@ -26,7 +25,7 @@ in {
programs.chromium = {
enable = true;
- enablePlasmaBrowserIntegration = true;
+ # enablePlasmaBrowserIntegration = true;
extensions = let
# create_extension_for = browserVersion: { id, sha256, version }: {
# inherit id;
@@ -64,19 +63,19 @@ in {
# version = "";
# })
];
- defaultSearchProviderEnabled = true;
- defaultSearchProviderSearchURL = "https://duckduckgo.com?q={searchTerms}";
- extraOpts = {
- "ExtensionManifestV2Availability" = 2;
- "BrowserSignin" = 0;
- "SyncDisabled" = true;
- "PasswordManagerEnabled" = false;
- "SpellcheckEnabled" = true;
- "SpellcheckLanguage" = [
- "nl-NL"
- "en-GB"
- ];
- };
+ # defaultSearchProviderEnabled = true;
+ # defaultSearchProviderSearchURL = "https://duckduckgo.com?q={searchTerms}";
+ # extraOpts = {
+ # "ExtensionManifestV2Availability" = 2;
+ # "BrowserSignin" = 0;
+ # "SyncDisabled" = true;
+ # "PasswordManagerEnabled" = false;
+ # "SpellcheckEnabled" = true;
+ # "SpellcheckLanguage" = [
+ # "nl-NL"
+ # "en-GB"
+ # ];
+ # };
};
};
}
diff --git a/modules/home/application/default.nix b/modules/home/application/default.nix
deleted file mode 100644
index 702193d..0000000
--- a/modules/home/application/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ inputs, config, lib, pkgs, namespace, ... }:
-let
- inherit (lib) mkIf mkOption;
- inherit (lib.types) subModule;
-
- cfg = config.${namespace}.application;
-in
-{
- options.${namespace}.application = {
- defaults = mkOption {
- type = subModule {
- browser = mkOption {
- type = enum [ "ladybird" "zen" ];
- default = "zen";
- example = "ladybird";
- };
- };
- };
- };
-
- config = {
- home.sessionVariables = {
- BROWSER = cfg.defaults.browser;
- };
- };
-}
diff --git a/modules/home/application/obs/default.nix b/modules/home/application/obs/default.nix
index 52e4100..fe84f1c 100644
--- a/modules/home/application/obs/default.nix
+++ b/modules/home/application/obs/default.nix
@@ -1,4 +1,4 @@
-{ inputs, config, lib, pkgs, namespace, ... }:
+{ config, lib, pkgs, namespace, osConfig ? {}, ... }:
let
inherit (lib) mkIf mkEnableOption;
@@ -16,16 +16,16 @@ in
obs-studio-plugins.obs-backgroundremoval
obs-studio-plugins.obs-pipewire-audio-capture
];
-
- boot = {
- extraModulePackages = with config.boot.kernelPackages; [
- v4l2loopback
- ];
- extraModprobeConfig = ''
- options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
- '';
- };
+ # boot = {
+ # extraModulePackages = with config.boot.kernelPackages; [
+ # v4l2loopback
+ # ];
+
+ # extraModprobeConfig = ''
+ # options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
+ # '';
+ # };
security.polkit.enable = true;
};
diff --git a/modules/home/application/onlyoffice/default.nix b/modules/home/application/onlyoffice/default.nix
index 4bbb07b..8153b68 100644
--- a/modules/home/application/onlyoffice/default.nix
+++ b/modules/home/application/onlyoffice/default.nix
@@ -11,6 +11,6 @@ in
config = mkIf cfg.enable {
home.packages = with pkgs; [ onlyoffice-bin ];
- fonts.packages = with pkgs; [ corefonts ];
+ # fonts.packages = with pkgs; [ corefonts ];
};
}
diff --git a/modules/home/application/steam/default.nix b/modules/home/application/steam/default.nix
index 104acd7..7bc338d 100644
--- a/modules/home/application/steam/default.nix
+++ b/modules/home/application/steam/default.nix
@@ -33,23 +33,23 @@ in
};
# https://github.com/FeralInteractive/gamemode
- gamemode = {
- enable = true;
- enableRenice = true;
- settings = {};
- };
+ # gamemode = {
+ # enable = true;
+ # enableRenice = true;
+ # settings = {};
+ # };
- gamescope = {
- enable = true;
- capSysNice = true;
- env = {
- DXVK_HDR = "1";
- ENABLE_GAMESCOPE_WSI = "1";
- WINE_FULLSCREEN_FSR = "1";
- WLR_RENDERER = "vulkan";
- };
- args = ["--hdr-enabled"];
- };
+ # gamescope = {
+ # enable = true;
+ # capSysNice = true;
+ # env = {
+ # DXVK_HDR = "1";
+ # ENABLE_GAMESCOPE_WSI = "1";
+ # WINE_FULLSCREEN_FSR = "1";
+ # WLR_RENDERER = "vulkan";
+ # };
+ # args = ["--hdr-enabled"];
+ # };
};
};
}
diff --git a/modules/home/default.nix b/modules/home/default.nix
new file mode 100644
index 0000000..bd59116
--- /dev/null
+++ b/modules/home/default.nix
@@ -0,0 +1,47 @@
+{ pkgs, config, lib, namespace, ... }:
+let
+ inherit (lib) mkOption;
+ inherit (lib.types) enum;
+
+ cfg = config.${namespace}.defaults;
+in {
+ options.${namespace}.defaults = {
+ editor = mkOption {
+ type = enum [ "nano" "nvim" "zed" ];
+ default = "nano";
+ description = "Default editor for text manipulation";
+ example = "nvim";
+ };
+
+ shell = mkOption {
+ type = enum [ "fish" "zsh" "bash" ];
+ default = "zsh";
+ description = "Default shell";
+ example = "zsh";
+ };
+
+ terminal = mkOption {
+ type = enum [ "ghostty" "alacritty" ];
+ default = "ghostty";
+ description = "Default terminal";
+ example = "ghostty";
+ };
+
+ browser = mkOption {
+ type = enum [ "chrome" "ladybird" "zen" ];
+ default = "zen";
+ description = "Default terminal";
+ example = "zen";
+ };
+ };
+
+ config = {
+ home.sessionVariables = {
+ EDITOR = cfg.editor;
+ TERMINAL = cfg.terminal;
+ BROWSER = cfg.browser;
+ };
+
+ shell = pkgs.${cfg.shell};
+ };
+}
diff --git a/modules/home/development/dotnet/default.nix b/modules/home/development/dotnet/default.nix
new file mode 100644
index 0000000..7ed848e
--- /dev/null
+++ b/modules/home/development/dotnet/default.nix
@@ -0,0 +1,15 @@
+{ config, lib, pkgs, namespace, ... }:
+let
+ inherit (lib) mkEnableOption mkIf;
+
+ cfg = config.${namespace}.development.dotnet;
+in
+{
+ options.${namespace}.development.dotnet = {
+ enable = mkEnableOption "Enable dotnet development tools";
+ };
+
+ config = mkIf cfg.enable {
+ home.packages = with pkgs; [ dotnet-sdk_8 ];
+ };
+}
diff --git a/modules/home/development/javascript/default.nix b/modules/home/development/javascript/default.nix
new file mode 100644
index 0000000..e649c86
--- /dev/null
+++ b/modules/home/development/javascript/default.nix
@@ -0,0 +1,15 @@
+{ config, lib, pkgs, namespace, ... }:
+let
+ inherit (lib) mkEnableOption mkIf;
+
+ cfg = config.${namespace}.development.javascript;
+in
+{
+ options.${namespace}.development.javascript = {
+ enable = mkEnableOption "Enable javascript development tools";
+ };
+
+ config = mkIf cfg.enable {
+ home.packages = with pkgs; [ bun nodejs nodePackages_latest.typescript-language-server ];
+ };
+}
diff --git a/modules/home/development/rust/default.nix b/modules/home/development/rust/default.nix
new file mode 100644
index 0000000..4208c68
--- /dev/null
+++ b/modules/home/development/rust/default.nix
@@ -0,0 +1,15 @@
+{ config, lib, pkgs, namespace, ... }:
+let
+ inherit (lib) mkEnableOption mkIf;
+
+ cfg = config.${namespace}.development.rust;
+in
+{
+ options.${namespace}.development.rust = {
+ enable = mkEnableOption "Enable rust development tools";
+ };
+
+ config = mkIf cfg.enable {
+
+ };
+}
diff --git a/modules/home/editor/default.nix b/modules/home/editor/default.nix
deleted file mode 100644
index f2ea10d..0000000
--- a/modules/home/editor/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ config, options, lib, pkgs, namespace, ... }:
-let
- inherit (lib) attrValues mkIf mkMerge mkOption;
- inherit (lib.types) nullOr enum;
-
- cfg = config.${namespace}.editors;
-in {
- options.${namespace}.editors = {
- default = mkOption {
- type = nullOr (enum [ "nano" "nvim" "zed" "kate" "vscodium" ]);
- default = "nano";
- description = "Default editor for text manipulation";
- example = "nvim";
- };
- };
-
- config = mkMerge [
- (mkIf (cfg.default != null) {
- home.sessionVariables = {
- EDITOR = cfg.default;
- };
- })
- ];
-}
diff --git a/modules/home/editor/nvim/default.nix b/modules/home/editor/nvim/default.nix
index 3e0a047..a3fd32a 100644
--- a/modules/home/editor/nvim/default.nix
+++ b/modules/home/editor/nvim/default.nix
@@ -5,12 +5,16 @@ let
cfg = config.${namespace}.editor.nvim;
in
{
+ imports = [
+ inputs.nvf.nixosModules.default
+ ];
+
options.${namespace}.editor.nvim = {
enable = mkEnableOption "enable nvim via nvf on user level";
};
config = mkIf cfg.enable {
- home.packages = with pkgs; [
+ home.packages = with pkgs; [
imagemagick
editorconfig-core-c
sqlite
diff --git a/modules/home/shell/default.nix b/modules/home/shell/default.nix
index 80aa20a..2fbd8e8 100644
--- a/modules/home/shell/default.nix
+++ b/modules/home/shell/default.nix
@@ -7,20 +7,10 @@ let
in
{
options.${namespace}.shell = {
- default = mkOption {
- type = nullOr (enum ["fish" "zsh" "bash"]);
- default = null;
- description = "Default system shell";
- };
-
corePkgs.enable = mkEnableOption "core shell packages";
};
config = mkMerge [
- # (if (cfg.default != null) then {
- # shell = pkgs."${cfg.default}";
- # } else {})
-
(mkIf (cfg.corePkgs.enable) {
${namespace}.shell.toolset = mkDefault {
bat.enable = true;
@@ -52,4 +42,4 @@ in
};
})
];
-}
\ No newline at end of file
+}
diff --git a/modules/home/terminal/alacritty/default.nix b/modules/home/terminal/alacritty/default.nix
new file mode 100644
index 0000000..b6e5822
--- /dev/null
+++ b/modules/home/terminal/alacritty/default.nix
@@ -0,0 +1,43 @@
+{ config, lib, namespace, ... }:
+let
+ inherit (lib) mkIf mkEnableOption;
+
+ cfg = config.${namespace}.terminal.alacritty;
+in
+{
+ options.${namespace}.terminal.alacritty = {
+ enable = mkEnableOption "enable alacritty";
+ };
+
+ config = mkIf cfg.enable {
+ programs.alacritty = {
+ enable = true;
+
+ settings = {
+ env = {
+ TERM = "xterm-256color";
+ WINIT_X11_SCALE_FACTOR = "1.0";
+ };
+
+ window.dynamic_title = true;
+
+ scrolling = {
+ history = 5000;
+ multiplier = 3;
+ };
+
+ selection = {
+ semantic_escape_chars = '',│`|:"' ()[]{}<>'';
+ save_to_clipboard = false;
+ };
+
+ general.live_config_reload = true;
+
+ # terminal.shell = {
+ # program = "${getExe pkgs.zsh}";
+ # args = ["-l" "-c" "tmux new || tmux"];
+ # };
+ };
+ };
+ };
+}
diff --git a/modules/home/terminal/ghostty/default.nix b/modules/home/terminal/ghostty/default.nix
new file mode 100644
index 0000000..ddb6dd0
--- /dev/null
+++ b/modules/home/terminal/ghostty/default.nix
@@ -0,0 +1,24 @@
+{ config, lib, namespace, ... }:
+let
+ inherit (lib) mkIf mkEnableOption;
+
+ cfg = config.${namespace}.terminal.ghostty;
+in
+{
+ options.${namespace}.terminal.ghostty = {
+ enable = mkEnableOption "enable ghostty";
+ };
+
+ config = mkIf cfg.enable {
+ rograms.ghostty = {
+ enable = true;
+ settings = {
+ background-blur-radius = 20;
+ theme = "dark:stylix,light:stylix";
+ window-theme = (config.${namespace}.themes.polarity or "dark");
+ background-opacity = 0.8;
+ minimum-contrast = 1.1;
+ };
+ };
+ };
+}
diff --git a/modules/nixos/boot/default.nix b/modules/nixos/boot/default.nix
index 45f3170..255d3d6 100644
--- a/modules/nixos/boot/default.nix
+++ b/modules/nixos/boot/default.nix
@@ -27,7 +27,7 @@ in
({
boot = {
kernelPackages = pkgs.linuxPackages_latest;
-
+
loader = {
systemd-boot.enable = false;
grub.enable = true;
@@ -38,8 +38,8 @@ in
footer = true;
};
};
-
- supportedFilesystems = [ "nfs" ]
+
+ supportedFilesystems = [ "nfs" ];
};
})
diff --git a/_modules/system/services/security.nix b/modules/nixos/services/security/vaultwarden/default.nix
similarity index 60%
rename from _modules/system/services/security.nix
rename to modules/nixos/services/security/vaultwarden/default.nix
index ff8bf62..6870606 100644
--- a/_modules/system/services/security.nix
+++ b/modules/nixos/services/security/vaultwarden/default.nix
@@ -1,13 +1,13 @@
-{ config, lib, pkgs, ... }:
+{ pkgs, config, lib, namespace, ... }:
let
-inherit (lib.options) mkEnableOption;
inherit (lib.modules) mkIf;
+ inherit (lib.options) mkEnableOption;
- cfg = config.modules.services.security;
+ cfg = config.${namespace}.services.security.vaultwarden;
in
{
- options.modules.services.security = {
- enable = mkEnableOption "Security service(s): Vaultwarden";
+ options.${namespace}.services.security.vaultwarden = {
+ enable = mkEnableOption "enable vaultwarden";
};
config = mkIf cfg.enable {
diff --git a/systems/x86_64-linux/mandos/default.nix b/systems/x86_64-linux/mandos/default.nix
index 248fa1d..a8a0a76 100644
--- a/systems/x86_64-linux/mandos/default.nix
+++ b/systems/x86_64-linux/mandos/default.nix
@@ -1,6 +1,4 @@
{ ... }:
-let
-in
{
imports = [
./disks.nix
@@ -22,4 +20,4 @@ in
};
system.stateVersion = "23.11";
-}
\ No newline at end of file
+}
diff --git a/systems/x86_64-linux/manwe/default.nix b/systems/x86_64-linux/manwe/default.nix
index 821e087..cb01d21 100644
--- a/systems/x86_64-linux/manwe/default.nix
+++ b/systems/x86_64-linux/manwe/default.nix
@@ -1,6 +1,4 @@
{ ... }:
-let
-in
{
imports = [
./disks.nix
@@ -23,4 +21,4 @@ in
};
system.stateVersion = "23.11";
-}
\ No newline at end of file
+}
diff --git a/systems/x86_64-linux/tulkas/default.nix b/systems/x86_64-linux/tulkas/default.nix
index 6aea613..66960ce 100644
--- a/systems/x86_64-linux/tulkas/default.nix
+++ b/systems/x86_64-linux/tulkas/default.nix
@@ -1,6 +1,4 @@
{ ... }:
-let
-in
{
imports = [
./disks.nix
@@ -23,4 +21,4 @@ in
};
system.stateVersion = "23.11";
-}
\ No newline at end of file
+}