diff --git a/flake.lock b/flake.lock index c1e8139..b23a049 100644 --- a/flake.lock +++ b/flake.lock @@ -158,11 +158,11 @@ }, "nixunstable": { "locked": { - "lastModified": 1677932085, - "narHash": "sha256-+AB4dYllWig8iO6vAiGGYl0NEgmMgGHpy9gzWJ3322g=", + "lastModified": 1682879489, + "narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3c5319ad3aa51551182ac82ea17ab1c6b0f0df89", + "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nurpkgs": { "locked": { - "lastModified": 1682446307, - "narHash": "sha256-WtvLBaH/Ma+of/JpZLFjz35SXZ5xbNAYmc30FE2LByQ=", + "lastModified": 1683002478, + "narHash": "sha256-af6LDktTjh3S6jWS2luOla1EW8uic0nFamkLenSvdRM=", "owner": "nix-community", "repo": "NUR", - "rev": "bf4f1d29e517aef123b936c65c2be7d296ed99b2", + "rev": "d889aaa91f9185bce2017679380ee9b233bb1c5e", "type": "github" }, "original": { diff --git a/hosts/jude/default.nix b/hosts/jude/default.nix index 0326870..71b9ca4 100644 --- a/hosts/jude/default.nix +++ b/hosts/jude/default.nix @@ -12,5 +12,6 @@ networking.hostName = "jude"; networking.enableIPv6 = false; greg.tailscale.enable = true; - greg.gnome.enable= true; + greg.gnome.enable = false; + greg.kde.enable = true; } diff --git a/hosts/jude/virt.nix b/hosts/jude/virt.nix index 3693653..00bba6e 100644 --- a/hosts/jude/virt.nix +++ b/hosts/jude/virt.nix @@ -5,7 +5,6 @@ libguestfs packer virt-manager - vagrant ]; # Give my user access to the libvirtd process @@ -17,9 +16,6 @@ onBoot = "ignore"; # Do not auto-restart VMs on boot, unless they are marked autostart }; - waydroid.enable = true; - lxd.enable = true; # Needed for waydroid - virtualbox.host.enable = true; }; diff --git a/modules-all/automatic/default.nix b/modules-all/automatic/default.nix deleted file mode 100644 index 8e990d3..0000000 --- a/modules-all/automatic/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ ... }: - -{ - imports = [ - ./nix.nix - ./programs.nix - ]; -} diff --git a/modules-all/automatic/nix.nix b/modules-all/automatic/nix.nix deleted file mode 100644 index 1026545..0000000 --- a/modules-all/automatic/nix.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ pkgs, ... }: - -{ - # Enable flakes - nix = { - package = pkgs.nixFlakes; - buildMachines = [ - { - hostName = "dns.me.ts"; - system = "aarch64-linux"; - } - - { - hostName = "jude.me.ts"; - system = "x86_64-linux"; - } - ]; - - settings = { - experimental-features = "nix-command flakes"; - keep-outputs = true; - keep-derivations = true; - min-free = (toString (1024 * 1024 * 1024) ); - max-free = (toString (5 * 1024 * 1024 * 1024) ); - substituters = [ - "https://cache.garnix.io" - ]; - trusted-public-keys = [ - "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" - ]; - }; - }; - nixpkgs.config.allowUnfree = true; -} diff --git a/modules-all/automatic/programs.nix b/modules-all/automatic/programs.nix deleted file mode 100644 index 2dc839c..0000000 --- a/modules-all/automatic/programs.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ pkgs, ... }: - -{ - # Base packages that need to be in all my hosts - environment.systemPackages = with pkgs; [ - agenix - android-file-transfer - bitwarden-cli - diffutils - git - gh - gnupatch - gregpy - findutils - hms # My own home manager switcher - home-manager - htop - killall - nano - pwgen - transcrypt - unzip - wget - ]; -} diff --git a/modules-all/default.nix b/modules-all/default.nix index c7c9579..73c0ef3 100644 --- a/modules-all/default.nix +++ b/modules-all/default.nix @@ -1,8 +1,58 @@ -{ ... }: +{ pkgs, ... }: { - imports = [ - ./automatic - ./xprograms.nix + # Enable flakes + nix = { + package = pkgs.nixFlakes; + buildMachines = [ + { + hostName = "dns.me.ts"; + system = "aarch64-linux"; + } + + { + hostName = "jude.me.ts"; + system = "x86_64-linux"; + } + ]; + + settings = { + auto-optimise-store = true; + experimental-features = "nix-command flakes"; + keep-outputs = true; + keep-derivations = true; + min-free = (toString (1024 * 1024 * 1024) ); + max-free = (toString (5 * 1024 * 1024 * 1024) ); + substituters = [ + "https://cache.garnix.io" + ]; + trusted-public-keys = [ + "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" + ]; + }; + }; + + nixpkgs.config.allowUnfree = true; + + # Base packages that need to be in all my hosts + environment.systemPackages = with pkgs; [ + agenix + android-file-transfer + bitwarden-cli + diffutils + git + gh + gnupatch + gregpy + findutils + hms # My own home manager switcher + home-manager + htop + killall + nano + pwgen + transcrypt + unzip + wget ]; } diff --git a/modules-all/xprograms.nix b/modules-all/xprograms.nix deleted file mode 100644 index 0a31731..0000000 --- a/modules-all/xprograms.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.greg.xprograms; - -in with lib; { - options = { - greg.xprograms.enable = mkEnableOption "Install my favorite XPrograms"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - keepassxc - ]; - }; -} diff --git a/modules-linux/automatic/default.nix b/modules-linux/automatic/default.nix deleted file mode 100644 index 8b667f9..0000000 --- a/modules-linux/automatic/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ ... }: - -{ - imports = [ - ./users.nix - ]; -} diff --git a/modules-linux/automatic/users.nix b/modules-linux/automatic/users.nix deleted file mode 100644 index 328baf4..0000000 --- a/modules-linux/automatic/users.nix +++ /dev/null @@ -1,28 +0,0 @@ -# Only imported from the Linux modules - -{ pkgs, ... }: - -{ - # Enable the OpenSSH daemon for remote control - services.openssh.enable = true; - #services.openssh.permitRootLogin = "yes"; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.greg = { - isNormalUser = true; - createHome = true; - extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. - shell = pkgs.xonsh; - openssh.authorizedKeys.keys = [ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDLQRq55JKqLifX+31kEXyuoB8gfM+5thAlgR7XLPvvdu6g2a5cCWyozQ1I2oGbPRfJtzcJ5ifM7Ii2PuqAj3MdYFLHBEDOhIpBBWme9Ts2YB9HJ4NorBvB4zEfJd0Q7k2MmylyeBOwdwGz3bVqPRDcJbxWFMDHqr33FEs6SXdfyAQ5SvhWGARI84qz8zUUdOp6M4e3aIGO3cx1gA+YzYQ4FbUtL8+m1NFO8VoNFMZBMf5q0iF/SgEu5bmGWUCePia6DvfeBFQ2/y4Y7WmOj980WE+JmFTkIvmGruMYeGI8FuDQ2JIIIcehddy9bQbPF4VlGnTFsHqJYVRUUWc+vH1cPNMn01oB8s27ogf9e1lyhIN+cZOgp/jDt4eXcO4Wr04uwj7CI6m+d8iMQOa5Jv0hmNgqqiwOMVBlKeo0FCxlovzwvn/Lia9WZ74JqM6JwLCD8SZ0oFgiSIHOTHrQhr7iaCmj7X/0ey7VR8FnCrpeAJpG+ELTfWGshF1d9QR2zW7u4EsXTDLiuOmdJ+/KxwMvjMcWdlg2+Qch6SwulTQRxWaED2IWJo+YiAql8eaiVXu/eZJGLoiskGFZnONoLrzIT4pSjakPlrSpn/M/GkP1pDpaMkr24OhJsGpJNEU3F1ZcOMqy2iJzIxlPmU8Xg0I/OrnbJplpaXeRCqnmouJUJhWkaPzawaVyW7dtvprLWcpQtUgTRet18WLyOrLKlq1jwvNRMTPKUJ2IFJMpk2pNEP6bdiUxyMa4vrRIEU2p1zsYSUJpCRLtccZ/i/+yAqwnTA2L5TdAORi9nD2uCdM/Ljz52V3A14QapS6oqcoWx2soWKgnsbVXoG8DxmUTpll77Ze9t7Y5216SMInWuOu0vstP8ZcgFmWsiBgIYIuLA58abWHMxgD251phYidua6R3Gtkf8J/kYqTR1P6eJF1bt5efEg7FD2aL1QQZsYJo3CRNz7yVe1XqMdPbfe2mFXQVF9TDX5x6r9Ir3d0KiEmTlBdByz8nSyPJ8IQxC58NT4LNVQs3p2XH2Zcf6B4JOBSmV4NNBnLseFobsxniWjkWwZigED/D2iu3OXuuhmskCbw0hKy2rBcKffaSNMioVqYIiYNfKlMlSvAacQKqc/1HCpqgX8PwAcSgNSLy4K7/gIrTHmjY+g+CH7onzatWzkLo+0vsZRa/D/qwhhK2CU2FeU07mhnWxWuzqpJuqVaAwDTaEforK7nQUtAOFAZZP6qGhIoqsynYt4THb+QORb3QYfaP0PVgQwXfVU5Q8eUQFZ8A+siPtOASFjDumsIbseB5VzkF+UhvdseJwkX2+4pVFu8eHFDyvArYsHeGK6fBcQGJFQc2jSs6doIP9HD9IO2R ghelling@unknown38BAF87CD102" - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDv26EhyBZS9E5bcuZDHHkh/oeyINHXlsD3OEL1UjZekIsiHoMv2QHYq99cYO/CsTVGcZj4ZTOKxrQQ069Cm1II76nXJP9mb3+jip5QAE/zYSWfxi3SgQum95qmkQsx9mxeKFi4NfUU9qN9vpmJkn0hrvYWg8vU98bcYmkx4RtGW6EgZJed3347EtHshTqq3UfAbj3ErSQdCbEqgNOjokzGWmcx16HyyO5HoQj2FP7PGQmArzMz0V76BRsnpg97CoPKkoWoGk+P13BCWWXR9GCa2PbJ9uprzPa6Ib4+i9RJPdeSkUiLlFi6rBTHaZUT9WUIEaqNSq3bbu1bIqMXkifPeDw7m+TMfOBT8MUBciJaPlPTgXuz3T4kCHBI041hIt+/VqryGtxnT45IavyUaN3JWYntDbpG3eEW4N9IB2oGWuC/XuTJrsUaNpLPpApUKuozxhsFELBRepU+j+Wn4kgJJl8hy0n+WL63ZUee+/F23C7UNXoOc/wU3KbpxO6ipsTSkTzhZpQF2LOuA3JUs5t9ZaiCJ2P9r8axHiphCRcIYSbcCo3pZupf1eTDSXm+x9/UB2sfzErNEH4SdakoSdAi8jG8WhPVOs3BrIXjVBjvyBLeOH86EzBGR/Ba8X6MWoEW9Oau1C3P/z65VH8RHpvPvp6axlMynyVI1ygt5uheuQ== gregory.hellings@C02G48H8MD6R" - ]; - }; - - i18n.defaultLocale = "en_US.UTF-8"; - - console = { - font = "Lat2-Terminus16"; - keyMap = "us"; - }; -} diff --git a/modules-linux/default.nix b/modules-linux/default.nix index 1a9fd2d..d4be972 100644 --- a/modules-linux/default.nix +++ b/modules-linux/default.nix @@ -1,11 +1,11 @@ -{ ... }: +{ pkgs, ... }: { imports = [ - ./automatic ./backup.nix ./gnome.nix ./home.nix + ./kde.nix ./kiwix-serve.nix ./linode.nix ./linux.nix @@ -19,5 +19,30 @@ # I am a fan of network manager, myself networking.networkmanager.enable = true; - nix.settings.auto-optimise-store = true; + programs = { + xonsh.enable = true; + }; + + # Enable the OpenSSH daemon for remote control + services.openssh.enable = true; + #services.openssh.permitRootLogin = "yes"; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.greg = { + isNormalUser = true; + createHome = true; + extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. + shell = pkgs.xonsh; + openssh.authorizedKeys.keys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDLQRq55JKqLifX+31kEXyuoB8gfM+5thAlgR7XLPvvdu6g2a5cCWyozQ1I2oGbPRfJtzcJ5ifM7Ii2PuqAj3MdYFLHBEDOhIpBBWme9Ts2YB9HJ4NorBvB4zEfJd0Q7k2MmylyeBOwdwGz3bVqPRDcJbxWFMDHqr33FEs6SXdfyAQ5SvhWGARI84qz8zUUdOp6M4e3aIGO3cx1gA+YzYQ4FbUtL8+m1NFO8VoNFMZBMf5q0iF/SgEu5bmGWUCePia6DvfeBFQ2/y4Y7WmOj980WE+JmFTkIvmGruMYeGI8FuDQ2JIIIcehddy9bQbPF4VlGnTFsHqJYVRUUWc+vH1cPNMn01oB8s27ogf9e1lyhIN+cZOgp/jDt4eXcO4Wr04uwj7CI6m+d8iMQOa5Jv0hmNgqqiwOMVBlKeo0FCxlovzwvn/Lia9WZ74JqM6JwLCD8SZ0oFgiSIHOTHrQhr7iaCmj7X/0ey7VR8FnCrpeAJpG+ELTfWGshF1d9QR2zW7u4EsXTDLiuOmdJ+/KxwMvjMcWdlg2+Qch6SwulTQRxWaED2IWJo+YiAql8eaiVXu/eZJGLoiskGFZnONoLrzIT4pSjakPlrSpn/M/GkP1pDpaMkr24OhJsGpJNEU3F1ZcOMqy2iJzIxlPmU8Xg0I/OrnbJplpaXeRCqnmouJUJhWkaPzawaVyW7dtvprLWcpQtUgTRet18WLyOrLKlq1jwvNRMTPKUJ2IFJMpk2pNEP6bdiUxyMa4vrRIEU2p1zsYSUJpCRLtccZ/i/+yAqwnTA2L5TdAORi9nD2uCdM/Ljz52V3A14QapS6oqcoWx2soWKgnsbVXoG8DxmUTpll77Ze9t7Y5216SMInWuOu0vstP8ZcgFmWsiBgIYIuLA58abWHMxgD251phYidua6R3Gtkf8J/kYqTR1P6eJF1bt5efEg7FD2aL1QQZsYJo3CRNz7yVe1XqMdPbfe2mFXQVF9TDX5x6r9Ir3d0KiEmTlBdByz8nSyPJ8IQxC58NT4LNVQs3p2XH2Zcf6B4JOBSmV4NNBnLseFobsxniWjkWwZigED/D2iu3OXuuhmskCbw0hKy2rBcKffaSNMioVqYIiYNfKlMlSvAacQKqc/1HCpqgX8PwAcSgNSLy4K7/gIrTHmjY+g+CH7onzatWzkLo+0vsZRa/D/qwhhK2CU2FeU07mhnWxWuzqpJuqVaAwDTaEforK7nQUtAOFAZZP6qGhIoqsynYt4THb+QORb3QYfaP0PVgQwXfVU5Q8eUQFZ8A+siPtOASFjDumsIbseB5VzkF+UhvdseJwkX2+4pVFu8eHFDyvArYsHeGK6fBcQGJFQc2jSs6doIP9HD9IO2R ghelling@unknown38BAF87CD102" + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDv26EhyBZS9E5bcuZDHHkh/oeyINHXlsD3OEL1UjZekIsiHoMv2QHYq99cYO/CsTVGcZj4ZTOKxrQQ069Cm1II76nXJP9mb3+jip5QAE/zYSWfxi3SgQum95qmkQsx9mxeKFi4NfUU9qN9vpmJkn0hrvYWg8vU98bcYmkx4RtGW6EgZJed3347EtHshTqq3UfAbj3ErSQdCbEqgNOjokzGWmcx16HyyO5HoQj2FP7PGQmArzMz0V76BRsnpg97CoPKkoWoGk+P13BCWWXR9GCa2PbJ9uprzPa6Ib4+i9RJPdeSkUiLlFi6rBTHaZUT9WUIEaqNSq3bbu1bIqMXkifPeDw7m+TMfOBT8MUBciJaPlPTgXuz3T4kCHBI041hIt+/VqryGtxnT45IavyUaN3JWYntDbpG3eEW4N9IB2oGWuC/XuTJrsUaNpLPpApUKuozxhsFELBRepU+j+Wn4kgJJl8hy0n+WL63ZUee+/F23C7UNXoOc/wU3KbpxO6ipsTSkTzhZpQF2LOuA3JUs5t9ZaiCJ2P9r8axHiphCRcIYSbcCo3pZupf1eTDSXm+x9/UB2sfzErNEH4SdakoSdAi8jG8WhPVOs3BrIXjVBjvyBLeOH86EzBGR/Ba8X6MWoEW9Oau1C3P/z65VH8RHpvPvp6axlMynyVI1ygt5uheuQ== gregory.hellings@C02G48H8MD6R" + ]; + }; + + i18n.defaultLocale = "en_US.UTF-8"; + + console = { + font = "Lat2-Terminus16"; + keyMap = "us"; + }; } diff --git a/modules-linux/gnome.nix b/modules-linux/gnome.nix index cec7312..edfe736 100644 --- a/modules-linux/gnome.nix +++ b/modules-linux/gnome.nix @@ -9,8 +9,6 @@ in with lib; { }; config = mkIf cfg.enable { - greg.xprograms.enable = true; - # Sets up a basic Gnome installation services = { accounts-daemon.enable = true; diff --git a/modules-linux/kde.nix b/modules-linux/kde.nix new file mode 100644 index 0000000..7b051db --- /dev/null +++ b/modules-linux/kde.nix @@ -0,0 +1,43 @@ +{ config, pkgs, lib, ... }: + +let + cfg = config.greg.kde; + +in with lib; { + options = { + greg.kde.enable = mkEnableOption "Enable my default KDE setup"; + }; + + config = mkIf cfg.enable { + # Sets up a basic KDE installation + services = { + xserver = { + enable = true; + displayManager.sddm.enable = true; + desktopManager.plasma5.enable = true; + layout = "us"; + # Trackpad support + libinput.enable = true; + }; + + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + }; + + programs.dconf.enable = true; + programs.sway.enable = true; # Gives us Wayland + xdg.portal = { + enable = true; + wlr.enable = true; # Enables screen sharing in Wayland + }; + + environment.systemPackages = with pkgs; [ + korganizer + plasma-pa + ]; + }; +} diff --git a/overlays/default.nix b/overlays/default.nix index addddd2..15cfbd0 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -78,21 +78,6 @@ in rec { xonsh-direnv = cp ./xonsh-direnv.nix {}; }; - bypass-paywalls-clean = let version = "3.1.5.0"; - in buildFirefoxXpiAddon { - pname = "bypass-paywalls-clean"; - inherit version; - addonId = "{d133e097-46d9-4ecc-9903-fa6a722a6e0e}"; - url = "https://gitlab.com/magnolia1234/bpc-uploads/-/raw/master/bypass_paywalls_clean-${version}.xpi"; - sha256 = "sha256-mBJkX8neimU5nwr1GEccCEr6Zy1Ku3JEH2A3LmPF3SU="; - meta = with super.lib; { - homepage = "https://gitlab.com/magnolia1234/bypass-paywalls-firefox-clean"; - description = "Bypass Paywalls of (custom) news sites"; - license = licenses.mit; - platforms = platforms.all; - }; - }; - enwiki-dump = super.callPackage ./enwiki-dump.nix {}; hms = super.callPackage ./hms.nix { pkgs = self.pkgs;