diff --git a/clhickey-nixos/configuration.nix b/clhickey-nixos/configuration.nix index d5715be..1d3027e 100644 --- a/clhickey-nixos/configuration.nix +++ b/clhickey-nixos/configuration.nix @@ -9,6 +9,11 @@ cos.username = "clhickey"; cos.hostName = "clhickey-nixos"; + cos.winboat.enable = true; + cos.docker.enable = true; + + cos.remoteBuild.enable = false; + boot = { loader = { systemd-boot.enable = true; @@ -57,7 +62,7 @@ cos.hyprland = { enable = true; - wallpaper = builtins.toString ./TranscodedWallpaper.jpeg; + wallpaper = builtins.toString ../TranscodedWallpaper.jpeg; }; # auto-mount USB drives @@ -96,8 +101,6 @@ enable = true; qemu = { swtpm.enable = true; - ovmf.enable = true; - ovmf.packages = [ pkgs.OVMFFull.fd ]; }; }; virtualbox.host = { @@ -197,6 +200,9 @@ discord aseprite pixelorama + dig + ncdu + servo ]; sessionVariables = { EDITOR = "${inputs.cnvim.packages.x86_64-linux.default}/bin/nvim"; @@ -207,7 +213,7 @@ packages = with pkgs; [ noto-fonts noto-fonts-cjk-sans - noto-fonts-emoji + noto-fonts-color-emoji liberation_ttf fira-code fira-code-symbols @@ -217,7 +223,7 @@ font-awesome libre-baskerville corefonts - vistafonts + vista-fonts ]; }; diff --git a/cos.nix b/cos.nix index 6c3330e..b4f9d6c 100644 --- a/cos.nix +++ b/cos.nix @@ -4,6 +4,9 @@ ./hyprland.nix ./wireguard.nix ./winboat.nix + ./docker.nix + ./remoteBuild.nix + ./gnupg.nix "${inputs.home-manager}/nixos" ]; diff --git a/docker.nix b/docker.nix new file mode 100644 index 0000000..bd92311 --- /dev/null +++ b/docker.nix @@ -0,0 +1,15 @@ +{ lib, config, ... }: +let cfg = config.cos.docker; in +{ + options.cos.docker = { + enable = lib.mkEnableOption "Enable Docker"; + }; + + config = lib.mkIf cfg.enable { + virtualisation.docker.enable = true; + + users.users.${config.cos.username}.extraGroups = [ + "docker" + ]; + }; +} diff --git a/flake.lock b/flake.lock index d0ce3b3..d8d38d7 100644 --- a/flake.lock +++ b/flake.lock @@ -2,7 +2,9 @@ "nodes": { "cnvim": { "inputs": { - "nixpkgs": "nixpkgs", + "nixpkgs": [ + "nixpkgs" + ], "nixvimFlake": "nixvimFlake" }, "locked": { @@ -84,11 +86,11 @@ ] }, "locked": { - "lastModified": 1759761710, - "narHash": "sha256-6ZG7VZZsbg39gtziGSvCJKurhIahIuiCn+W6TGB5kOU=", + "lastModified": 1763228015, + "narHash": "sha256-1rYieMVUyZ3kK/cBIr8mOusxrOEJ1/+2MsOg0oJ7b3A=", "owner": "nix-community", "repo": "home-manager", - "rev": "929535c3082afdf0b18afec5ea1ef14d7689ff1c", + "rev": "96156a9e86281c4bfc451236bc2ddfe4317e6f39", "type": "github" }, "original": { @@ -147,27 +149,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1759632233, - "narHash": "sha256-krgZxGAIIIKFJS+UB0l8do3sYUDWJc75M72tepmVMzE=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "d7f52a7a640bc54c7bb414cca603835bf8dd4b10", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1759381078, - "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", + "lastModified": 1762977756, + "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", + "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", "type": "github" }, "original": { @@ -177,7 +163,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_2": { "locked": { "lastModified": 1742422364, "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", @@ -276,7 +262,7 @@ "penn-nix": { "inputs": { "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1742609439, @@ -297,10 +283,9 @@ "cnvim": "cnvim", "home-manager": "home-manager", "mapnix": "mapnix", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "osm-bikeability": "osm-bikeability", - "penn-nix": "penn-nix", - "winboat": "winboat" + "penn-nix": "penn-nix" } }, "systems": { @@ -347,26 +332,6 @@ "repo": "default", "type": "github" } - }, - "winboat": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1760459934, - "narHash": "sha256-OQn5UqCOXsvaAwOG0p3ZiXmR+WfN3wf7H3zlc+uiByM=", - "owner": "TibixDev", - "repo": "winboat", - "rev": "eac9a7f48ce9bf9c60b9e7743aaf53d5a0f6351e", - "type": "github" - }, - "original": { - "owner": "TibixDev", - "repo": "winboat", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index e20a1df..fed5653 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,7 @@ penn-nix.url = "github:clay53/penn-nix"; cnvim = { url = "github:clay53/cnvim"; - #inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs.follows = "nixpkgs"; }; mapnix = { url = "github:clay53/mapnix"; @@ -17,10 +17,6 @@ url = "github:clay53/osm-bikeability"; flake = false; }; - winboat = { - url = "github:TibixDev/winboat"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = { self, nixpkgs, ... }@inputs: { nixosConfigurations.clhickey-nixos = nixpkgs.lib.nixosSystem { diff --git a/gnupg.nix b/gnupg.nix new file mode 100644 index 0000000..b573183 --- /dev/null +++ b/gnupg.nix @@ -0,0 +1,4 @@ +{pkgs, ...}: { + programs.gnupg.agent.enable = true; + programs.gnupg.agent.pinentryPackage = pkgs.pinentry-curses; +} diff --git a/hyprland.nix b/hyprland.nix index f277339..054dbe3 100644 --- a/hyprland.nix +++ b/hyprland.nix @@ -37,7 +37,7 @@ let cfg = config.cos.hyprland; in waylandFrontend = true; addons = with pkgs; [ fcitx5-gtk - fcitx5-configtool + qt6Packages.fcitx5-configtool fcitx5-mozc ]; }; @@ -55,6 +55,7 @@ let cfg = config.cos.hyprland; in kdePackages.ark kdePackages.gwenview yaru-theme + hyprpaper ]; services.hypridle.enable = true; @@ -147,6 +148,7 @@ let cfg = config.cos.hyprland; in gaps_out = 0; }; input = { + kb_layout = "jp"; accel_profile = "flat"; sensitivity = 1.0; touchpad = { @@ -156,6 +158,9 @@ let cfg = config.cos.hyprland; in xwayland = { force_zero_scaling = true; }; + misc = { + disable_hyprland_logo = true; + }; }; }; diff --git a/remoteBuild.nix b/remoteBuild.nix new file mode 100644 index 0000000..572f84d --- /dev/null +++ b/remoteBuild.nix @@ -0,0 +1,30 @@ +{ lib, config, ... }: +let cfg = config.cos.remoteBuild; in +{ + options.cos.remoteBuild = { + enable = lib.mkEnableOption "Turn on remote builders"; + }; + + config = lib.mkIf cfg.enable { + cos.wireguard.enable = true; + + nix.buildMachines = [{ + sshUser = "clhickey"; + hostName = config.cos.wireguard.clientPubOptionsMap.nixnas.ip; + system = "x86_64-linux"; + protocol = "ssh-ng"; + maxJobs = 4; + speedFactor = 1; + supportedFeatures = [ "kvm" "nixos-tests" "big-parallel" ]; + mandatoryFeatures = []; + }]; + nix.distributedBuilds = true; + nix.settings.builders-use-substitutes = false; + nix.settings.trusted-public-keys = [ + "${config.cos.wireguard.clientPubOptionsMap.nixnas.ip}:iD0dK5e3PmeldRKuQcFPfrwsMsILNvvE/joqGRluu4c=" + ]; + nix.settings.substituters = [ + "ssh-ng://clhickey@${config.cos.wireguard.clientPubOptionsMap.nixnas.ip}" + ]; + }; +} diff --git a/winboat.nix b/winboat.nix index e3d4a8a..3b29998 100644 --- a/winboat.nix +++ b/winboat.nix @@ -8,14 +8,10 @@ in }; config = lib.mkIf cfg.enable { - virtualisation.docker.enable = true; - - users.users.${config.cos.username}.extraGroups = [ - "docker" - ]; + cos.docker.enable = true; environment.systemPackages = [ - inputs.winboat.packages.x86_64-linux.winboat + pkgs.winboat pkgs.freerdp ]; }; diff --git a/wireguard.nix b/wireguard.nix index d5606e6..89308ff 100644 --- a/wireguard.nix +++ b/wireguard.nix @@ -65,6 +65,11 @@ in wireguard-tools ]; + environment.etc."resolv.conf".text = '' + nameserver 10.100.0.1 + nameserver 1.1.1.1 + ''; + networking.wireguard = { enable = true; interfaces = {