summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configuration.nix74
-rw-r--r--flake.nix10
-rw-r--r--home.nix119
-rw-r--r--modules/home/default.nix16
-rw-r--r--modules/home/firefox.nix63
-rw-r--r--modules/home/git.nix7
-rw-r--r--modules/home/initial-home-setup.nix18
-rw-r--r--modules/home/resources/activation-scripts/clone-repos.sh (renamed from home-config/activation-scripts/clone-repos.sh)0
-rw-r--r--modules/home/resources/firefox/uiCustomization.json (renamed from home-config/firefox/uiCustomization.json)0
-rw-r--r--modules/home/resources/firefox/userChrome.css (renamed from home-config/firefox/userChrome.css)0
-rw-r--r--modules/home/theme.nix46
-rw-r--r--modules/hosts/T430/configuration.nix27
-rw-r--r--modules/hosts/T430/hardware-configuration.nix (renamed from hardware-configuration.nix)0
-rw-r--r--modules/root/awesome.nix (renamed from modules/awesome.nix)0
-rw-r--r--modules/root/cups.nix (renamed from modules/cups.nix)0
-rw-r--r--modules/root/default.nix (renamed from modules/default.nix)8
-rw-r--r--modules/root/doas.nix (renamed from modules/doas.nix)0
-rw-r--r--modules/root/docker.nix (renamed from modules/docker.nix)0
-rw-r--r--modules/root/grub.nix (renamed from modules/grub.nix)0
-rw-r--r--modules/root/home-manager.nix11
-rw-r--r--modules/root/hosts.nix (renamed from modules/hosts.nix)0
-rw-r--r--modules/root/localization.nix (renamed from modules/localization.nix)0
-rw-r--r--modules/root/nix.nix (renamed from modules/nix.nix)0
-rw-r--r--modules/root/pipewire.nix (renamed from modules/pipewire.nix)0
-rw-r--r--modules/root/software/default.nix (renamed from modules/software/default.nix)0
-rw-r--r--modules/root/software/desktop-extra.nix (renamed from modules/software/desktop-extra.nix)1
-rw-r--r--modules/root/software/desktop.nix (renamed from modules/software/desktop.nix)0
-rw-r--r--modules/root/software/dev-extra.nix (renamed from modules/software/dev-extra.nix)2
-rw-r--r--modules/root/software/dev.nix (renamed from modules/software/dev.nix)0
-rw-r--r--modules/root/software/utils.nix (renamed from modules/software/utils.nix)0
-rw-r--r--modules/root/virtualisation.nix10
-rw-r--r--modules/root/wifi.nix (renamed from modules/wifi.nix)0
-rw-r--r--modules/root/x11/default.nix (renamed from modules/x11/default.nix)0
-rw-r--r--modules/root/x11/xinit-startx-xdg.patch (renamed from modules/x11/xinit-startx-xdg.patch)0
34 files changed, 209 insertions, 203 deletions
diff --git a/configuration.nix b/configuration.nix
deleted file mode 100644
index fecb7e6..0000000
--- a/configuration.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-# Edit this configuration file to define what should be installed on
-# your system. Help is available in the configuration.nix(5) man page, on
-# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
-
-{ config, lib, pkgs, ... }:
-
-{
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
-
- # networking.hostName = "nixos"; # Define your hostname.
-
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.timmy = {
- description = "Tim Keller";
- isNormalUser = true;
- extraGroups = [ "wheel" "docker" ]; # Enable ‘sudo’ for the user.
- packages = with pkgs; [
- ];
- };
-
-
- # TODO this does not function
- boot.initrd.systemd.extraBin = {
- sh = "${pkgs.dash}/bin/dash";
- vim = "${pkgs.neovim}/bin/nvim";
- };
-
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- #programs.mtr.enable = true;
- # programs.gnupg.agent = {
- # enable = true;
- # enableSSHSupport = true;
- # };
-
- # List services that you want to enable:
-
- # Enable the OpenSSH daemon.
-
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
-
- # Copy the NixOS configuration file and link it from the resulting system
- # (/run/current-system/configuration.nix). This is useful in case you
- # accidentally delete configuration.nix.
- # system.copySystemConfiguration = true;
-
- # This option defines the first version of NixOS you have installed on this particular machine,
- # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
- #
- # Most users should NEVER change this value after the initial install, for any reason,
- # even if you've upgraded your system to a new NixOS release.
- #
- # This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
- # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
- # to actually do that.
- #
- # This value being lower than the current NixOS release does NOT mean your system is
- # out of date, out of support, or vulnerable.
- #
- # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
- # and migrated your data accordingly.
- #
- # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
- system.stateVersion = "24.05"; # Did you read the comment?
-
-}
-
diff --git a/flake.nix b/flake.nix
index 1108ba0..e69a67b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -12,29 +12,27 @@
arkenfox = {
url = "github:dwarfmaster/arkenfox-nixos";
inputs.nixpkgs.follows = "nixpkgs";
- #inputs.home-manager.follows = "home-manager";
};
};
outputs = { nixpkgs, home-manager, arkenfox, ... }@inputs :
- # HOSTNAME NIXOS
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
- nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
+ nixosConfigurations.T430 = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs; };
modules = [
- ./configuration.nix
- ./modules
+ ./modules/hosts/T430/configuration.nix
+ ./modules/root
];
};
homeConfigurations.timmy = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
- ./home.nix
+ ./modules/home
inputs.arkenfox.hmModules.arkenfox
];
};
diff --git a/home.nix b/home.nix
deleted file mode 100644
index f34d6c0..0000000
--- a/home.nix
+++ /dev/null
@@ -1,119 +0,0 @@
-{ config, lib, pkgs, ... }: {
- home = {
- username = "timmy";
- homeDirectory = "/home/timmy";
- stateVersion = "24.05";
- activation = {
- cloneRepos = lib.hm.dag.entryAfter ["writeBoundary"] ''
- export PATH="${config.home.path}/bin:$PATH"
- ${builtins.readFile ./home-config/activation-scripts/clone-repos.sh}
- '';
- linkZshProfile = lib.hm.dag.entryAfter ["writeBoundary"] ''
- run ln -sf $VERBOSE_ARG $HOME/.config/zsh/zprofile $HOME/.zprofile
- '';
- cleanupHome = lib.hm.dag.entryAfter ["writeBoundary"] ''
- run rm -f $VERBOSE_ARG $HOME/{.zcompdump,.zshrc,.zsh_history,.bash_history}
- '';
- mimewiz = lib.hm.dag.entryAfter ["writeBoundary"] ''
- export PATH="$HOME/.local/bin/misc:$PATH"
- run mimewiz # already verbose
- '';
- };
- };
-
- programs = {
- git = {
- enable = true;
- userName = "Tim Keller"; # TODO set to user description
- userEmail = "tjk@tjkeller.xyz"; # TODO set to user email
- };
- firefox = {
- # TODO see if there is way to login to moz account in profile
- enable = true;
- arkenfox = {
- enable = true;
- };
- profiles = let
- search = {
- engines = {
- "Timmy Search" = {
- urls = [{ template = "https://search.tjkeller.xyz/search?q={searchTerms}"; }]; # Don't know how to do w/ POST but I prefer GET anyways
- iconURI = "https://search.tjkeller.xyz/static/themes/simple/img/favicon.svg"; # TODO doesn't seem to work
- };
- };
- default = "Timmy Search";
- privateDefault = "Timmy Search";
- };
- userChrome = builtins.readFile ./home-config/firefox/userChrome.css;
- arkenfox = {
- enable = true;
- enableAllSections = true;
- "0100"."0102"."browser.startup.page".value = 3; # 0=blank, 1=home, 2=last visited page, 3=resume previous session
- "0100"."0103"."browser.startup.homepage".enable = false;
- "0100"."0104"."browser.newtabpage.enabled".enable = false;
- };
- settings = {
- "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
- "browser.compactmode.show" = true;
- "browser.uidensity" = 1; # Compact
- "browser.download.dir" = /home/timmy/dls; # FF will create this dir if it doesn't exist
- "browser.aboutConfig.showWarning" = false; # arkenfox does
- "app.normandy.first_run" = false;
- "browser.uiCustomization.state" = builtins.readFile ./home-config/firefox/uiCustomization.json; # Toolbar etc.
- "browser.newtabpage.activity-stream.feeds.section.topstories" = false;
- "browser.newtabpage.activity-stream.feeds.topsites" = false;
- "general.smoothScroll" = false;
- "devtools.toolbox.host" = "window";
- #identity.fxaccounts.account.device.name = "timmy’s Firefox on nixos"; # HOSTNAME
- };
- in {
- Personal = {
- id = 0;
- isDefault = true;
- inherit search;
- inherit userChrome;
- inherit arkenfox;
- inherit settings;
- };
- Work = {
- id = 1;
- inherit search;
- };
- Test = {
- id = 2;
- inherit search;
- inherit arkenfox;
- inherit userChrome;
- inherit settings;
- };
- };
- };
- };
-
- gtk = {
- enable = true;
- theme = {
- package = pkgs.cinnamon.mint-themes;
- name = "Mint-Y-Dark-Aqua";
- };
- iconTheme = {
- package = pkgs.cinnamon.mint-y-icons;
- name = "Mint-Y-Aqua";
- };
- cursorTheme = {
- name = "Adwaita";
- };
- gtk3.bookmarks = [
- "file:///home/timmy/dls Downloads"
- "file:///home/timmy/docs Documents"
- "file:///home/timmy/docs/src/sites sites"
- "file:///home/timmy/docs/src/scripts scripts"
- "file:///home/timmy/docs/src/programs programs"
- ];
- gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
- };
- qt = {
- enable = true;
- platformTheme.name = "gtk3";
- };
-}
diff --git a/modules/home/default.nix b/modules/home/default.nix
new file mode 100644
index 0000000..bce93ba
--- /dev/null
+++ b/modules/home/default.nix
@@ -0,0 +1,16 @@
+{ lib, ... }: {
+ home = {
+ username = "timmy";
+ homeDirectory = "/home/timmy";
+ stateVersion = "24.05";
+ };
+
+ imports = [
+ ./firefox.nix
+ ./git.nix
+ ./initial-home-setup.nix
+ ./theme.nix
+ ];
+
+ theme.mint.enable = lib.mkDefault true;
+}
diff --git a/modules/home/firefox.nix b/modules/home/firefox.nix
new file mode 100644
index 0000000..3ae1278
--- /dev/null
+++ b/modules/home/firefox.nix
@@ -0,0 +1,63 @@
+{
+ programs.firefox = {
+ # TODO see if there is way to login to moz account in profile
+ enable = true;
+ arkenfox = {
+ enable = true;
+ };
+ profiles = let
+ search = {
+ engines = {
+ "Timmy Search" = {
+ urls = [{ template = "https://search.tjkeller.xyz/search?q={searchTerms}"; }]; # Don't know how to do w/ POST but I prefer GET anyways
+ iconURI = "https://search.tjkeller.xyz/static/themes/simple/img/favicon.svg"; # TODO doesn't seem to work
+ };
+ };
+ default = "Timmy Search";
+ privateDefault = "Timmy Search";
+ };
+ userChrome = builtins.readFile ./resources/firefox/userChrome.css;
+ arkenfox = {
+ enable = true;
+ enableAllSections = true;
+ "0100"."0102"."browser.startup.page".value = 3; # 0=blank, 1=home, 2=last visited page, 3=resume previous session
+ "0100"."0103"."browser.startup.homepage".enable = false;
+ "0100"."0104"."browser.newtabpage.enabled".enable = false;
+ };
+ settings = {
+ "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
+ "browser.compactmode.show" = true;
+ "browser.uidensity" = 1; # Compact
+ "browser.download.dir" = /home/timmy/dls; # FF will create this dir if it doesn't exist
+ "browser.aboutConfig.showWarning" = false; # arkenfox does
+ "app.normandy.first_run" = false;
+ "browser.uiCustomization.state" = builtins.readFile ./resources/firefox/uiCustomization.json; # Toolbar etc.
+ "browser.newtabpage.activity-stream.feeds.section.topstories" = false;
+ "browser.newtabpage.activity-stream.feeds.topsites" = false;
+ "general.smoothScroll" = false;
+ "devtools.toolbox.host" = "window";
+ #identity.fxaccounts.account.device.name = "timmy’s Firefox on nixos"; # HOSTNAME
+ };
+ in {
+ Personal = {
+ id = 0;
+ isDefault = true;
+ inherit search;
+ inherit userChrome;
+ inherit arkenfox;
+ inherit settings;
+ };
+ Work = {
+ id = 1;
+ inherit search;
+ };
+ Test = {
+ id = 2;
+ inherit search;
+ inherit arkenfox;
+ inherit userChrome;
+ inherit settings;
+ };
+ };
+ };
+}
diff --git a/modules/home/git.nix b/modules/home/git.nix
new file mode 100644
index 0000000..e1a36c3
--- /dev/null
+++ b/modules/home/git.nix
@@ -0,0 +1,7 @@
+{
+ programs.git = {
+ enable = true;
+ userName = "Tim Keller"; # TODO set to user description
+ userEmail = "tjk@tjkeller.xyz"; # TODO set to user email
+ };
+}
diff --git a/modules/home/initial-home-setup.nix b/modules/home/initial-home-setup.nix
new file mode 100644
index 0000000..a7119b9
--- /dev/null
+++ b/modules/home/initial-home-setup.nix
@@ -0,0 +1,18 @@
+{ config, lib, ... }: {
+ home.activation = {
+ cloneRepos = lib.hm.dag.entryAfter ["writeBoundary"] ''
+ export PATH="${config.home.path}/bin:$PATH"
+ ${builtins.readFile ./resources/activation-scripts/clone-repos.sh}
+ '';
+ linkZshProfile = lib.hm.dag.entryAfter ["writeBoundary"] ''
+ run ln -sf $VERBOSE_ARG $HOME/.config/zsh/zprofile $HOME/.zprofile
+ '';
+ cleanupHome = lib.hm.dag.entryAfter ["writeBoundary"] ''
+ run rm -f $VERBOSE_ARG $HOME/{.zcompdump,.zshrc,.zsh_history,.bash_history}
+ '';
+ mimewiz = lib.hm.dag.entryAfter ["writeBoundary"] ''
+ export PATH="$HOME/.local/bin/misc:$PATH"
+ run mimewiz # already verbose
+ '';
+ };
+}
diff --git a/home-config/activation-scripts/clone-repos.sh b/modules/home/resources/activation-scripts/clone-repos.sh
index 8ebdbe4..8ebdbe4 100644
--- a/home-config/activation-scripts/clone-repos.sh
+++ b/modules/home/resources/activation-scripts/clone-repos.sh
diff --git a/home-config/firefox/uiCustomization.json b/modules/home/resources/firefox/uiCustomization.json
index 339b716..339b716 100644
--- a/home-config/firefox/uiCustomization.json
+++ b/modules/home/resources/firefox/uiCustomization.json
diff --git a/home-config/firefox/userChrome.css b/modules/home/resources/firefox/userChrome.css
index af302c5..af302c5 100644
--- a/home-config/firefox/userChrome.css
+++ b/modules/home/resources/firefox/userChrome.css
diff --git a/modules/home/theme.nix b/modules/home/theme.nix
new file mode 100644
index 0000000..c49b8f5
--- /dev/null
+++ b/modules/home/theme.nix
@@ -0,0 +1,46 @@
+{ config, lib, pkgs, ... }: {
+ options = {
+ theme.mint = {
+ enable = lib.mkEnableOption "enables mint theme";
+ theme.color = lib.mkOption {
+ type = lib.types.str;
+ default = "Dark-Aqua";
+ description = "mint-y theme color eg. 'Dark-Aqua' or 'Red'";
+ };
+ icons.color = lib.mkOption {
+ type = lib.types.str;
+ default = "Aqua";
+ description = "mint-y icons color eg. 'Aqua' or 'Red'";
+ };
+ };
+ };
+
+ config = {
+ gtk = {
+ enable = true;
+ theme = lib.mkIf config.theme.mint.enable {
+ package = pkgs.cinnamon.mint-themes;
+ name = "Mint-Y-${config.theme.mint.theme.color}";
+ };
+ iconTheme = lib.mkIf config.theme.mint.enable {
+ package = pkgs.cinnamon.mint-y-icons;
+ name = "Mint-Y-${config.theme.mint.icons.color}";
+ };
+ cursorTheme = {
+ name = "Adwaita";
+ };
+ gtk3.bookmarks = [
+ "file:///home/timmy/dls Downloads"
+ "file:///home/timmy/docs Documents"
+ "file:///home/timmy/docs/src/sites sites"
+ "file:///home/timmy/docs/src/scripts scripts"
+ "file:///home/timmy/docs/src/programs programs"
+ ];
+ gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
+ };
+ qt = {
+ enable = true;
+ platformTheme.name = "gtk3";
+ };
+ };
+}
diff --git a/modules/hosts/T430/configuration.nix b/modules/hosts/T430/configuration.nix
new file mode 100644
index 0000000..a8744ba
--- /dev/null
+++ b/modules/hosts/T430/configuration.nix
@@ -0,0 +1,27 @@
+{ config, lib, pkgs, ... }: {
+ imports = [ ./hardware-configuration.nix ];
+ networking.hostName = "T430";
+
+ # Define a user account. Don't forget to set a password with ‘passwd’.
+ users.users.timmy = {
+ description = "Tim Keller";
+ isNormalUser = true;
+ extraGroups = [ "wheel" "docker" ]; # Enable ‘sudo’ for the user.
+ packages = with pkgs; [
+ ];
+ };
+
+ # TODO this does not function
+ boot.initrd.systemd.extraBin = {
+ sh = "${pkgs.dash}/bin/dash";
+ vim = "${pkgs.neovim}/bin/nvim";
+ };
+
+ # Open ports in the firewall.
+ # networking.firewall.allowedTCPPorts = [ ... ];
+ # networking.firewall.allowedUDPPorts = [ ... ];
+ # Or disable the firewall altogether.
+ # networking.firewall.enable = false;
+
+ system.stateVersion = "24.05";
+}
diff --git a/hardware-configuration.nix b/modules/hosts/T430/hardware-configuration.nix
index 206a525..206a525 100644
--- a/hardware-configuration.nix
+++ b/modules/hosts/T430/hardware-configuration.nix
diff --git a/modules/awesome.nix b/modules/root/awesome.nix
index 4db5230..4db5230 100644
--- a/modules/awesome.nix
+++ b/modules/root/awesome.nix
diff --git a/modules/cups.nix b/modules/root/cups.nix
index 39f8434..39f8434 100644
--- a/modules/cups.nix
+++ b/modules/root/cups.nix
diff --git a/modules/default.nix b/modules/root/default.nix
index 1f878d9..dd518d2 100644
--- a/modules/default.nix
+++ b/modules/root/default.nix
@@ -5,11 +5,13 @@
./doas.nix
./docker.nix
./grub.nix
+ ./home-manager.nix
./hosts.nix
./localization.nix
./nix.nix
./pipewire.nix
- ./software.nix
+ ./software
+ ./virtualisation.nix
./wifi.nix
./x11
];
@@ -17,7 +19,7 @@
cups.enable = lib.mkDefault true;
doas.enable = lib.mkDefault true;
docker = {
- enable = lib.mkDefault true;
+ enable = lib.mkDefault false;
btrfsSupport = lib.mkDefault true;
};
grub = {
@@ -25,7 +27,9 @@
mode = lib.mkDefault "bios";
biosDevice = lib.mkDefault "/dev/sda";
};
+ home-manager.enable = lib.mkDefault true;
pipewire.enable = lib.mkDefault true;
+ virtualisation.enable = lib.mkDefault false;
wifi.enable = lib.mkDefault true;
xserver.awesome.enable = lib.mkDefault true;
xserver.enable = lib.mkDefault true;
diff --git a/modules/doas.nix b/modules/root/doas.nix
index 2af324e..2af324e 100644
--- a/modules/doas.nix
+++ b/modules/root/doas.nix
diff --git a/modules/docker.nix b/modules/root/docker.nix
index d4b6272..d4b6272 100644
--- a/modules/docker.nix
+++ b/modules/root/docker.nix
diff --git a/modules/grub.nix b/modules/root/grub.nix
index 47227d1..47227d1 100644
--- a/modules/grub.nix
+++ b/modules/root/grub.nix
diff --git a/modules/root/home-manager.nix b/modules/root/home-manager.nix
new file mode 100644
index 0000000..d271523
--- /dev/null
+++ b/modules/root/home-manager.nix
@@ -0,0 +1,11 @@
+{ pkgs, lib, config, ... }: {
+ options = {
+ home-manager.enable = lib.mkEnableOption "enables home-manager";
+ };
+
+ config = lib.mkIf config.home-manager.enable {
+ environment.systemPackages = with pkgs; [
+ home-manager
+ ];
+ };
+}
diff --git a/modules/hosts.nix b/modules/root/hosts.nix
index 17e9cac..17e9cac 100644
--- a/modules/hosts.nix
+++ b/modules/root/hosts.nix
diff --git a/modules/localization.nix b/modules/root/localization.nix
index 8313f07..8313f07 100644
--- a/modules/localization.nix
+++ b/modules/root/localization.nix
diff --git a/modules/nix.nix b/modules/root/nix.nix
index ff8dd28..ff8dd28 100644
--- a/modules/nix.nix
+++ b/modules/root/nix.nix
diff --git a/modules/pipewire.nix b/modules/root/pipewire.nix
index fd97d42..fd97d42 100644
--- a/modules/pipewire.nix
+++ b/modules/root/pipewire.nix
diff --git a/modules/software/default.nix b/modules/root/software/default.nix
index 0ceef7f..0ceef7f 100644
--- a/modules/software/default.nix
+++ b/modules/root/software/default.nix
diff --git a/modules/software/desktop-extra.nix b/modules/root/software/desktop-extra.nix
index 5347696..a3bf8fb 100644
--- a/modules/software/desktop-extra.nix
+++ b/modules/root/software/desktop-extra.nix
@@ -11,7 +11,6 @@
qbittorrent
qdirstat
ungoogled-chromium
- virt-manager
];
};
}
diff --git a/modules/software/desktop.nix b/modules/root/software/desktop.nix
index 195d742..195d742 100644
--- a/modules/software/desktop.nix
+++ b/modules/root/software/desktop.nix
diff --git a/modules/software/dev-extra.nix b/modules/root/software/dev-extra.nix
index 259ae98..b027b37 100644
--- a/modules/software/dev-extra.nix
+++ b/modules/root/software/dev-extra.nix
@@ -1,6 +1,6 @@
{ pkgs, lib, config, ... }: {
options = {
- software.dev.enable = lib.mkEnableOption "enables dev apps";
+ software.dev.extra.enable = lib.mkEnableOption "enables extra dev apps";
};
config = lib.mkIf config.software.dev.extra.enable {
diff --git a/modules/software/dev.nix b/modules/root/software/dev.nix
index b0dabcc..b0dabcc 100644
--- a/modules/software/dev.nix
+++ b/modules/root/software/dev.nix
diff --git a/modules/software/utils.nix b/modules/root/software/utils.nix
index 1efdb18..1efdb18 100644
--- a/modules/software/utils.nix
+++ b/modules/root/software/utils.nix
diff --git a/modules/root/virtualisation.nix b/modules/root/virtualisation.nix
new file mode 100644
index 0000000..d57d43e
--- /dev/null
+++ b/modules/root/virtualisation.nix
@@ -0,0 +1,10 @@
+{ lib, config, ... }: {
+ options = {
+ virtualisation.enable = lib.mkEnableOption "enables virtualisation and virt-manager";
+ };
+
+ config = lib.mkIf config.virtualisation.enable {
+ virtualisation.libvirtd.enable = true;
+ programs.virt-manager.enable = true;
+ };
+}
diff --git a/modules/wifi.nix b/modules/root/wifi.nix
index 54f9089..54f9089 100644
--- a/modules/wifi.nix
+++ b/modules/root/wifi.nix
diff --git a/modules/x11/default.nix b/modules/root/x11/default.nix
index 8fa1d27..8fa1d27 100644
--- a/modules/x11/default.nix
+++ b/modules/root/x11/default.nix
diff --git a/modules/x11/xinit-startx-xdg.patch b/modules/root/x11/xinit-startx-xdg.patch
index c1bca97..c1bca97 100644
--- a/modules/x11/xinit-startx-xdg.patch
+++ b/modules/root/x11/xinit-startx-xdg.patch