diff --git a/flake.lock b/flake.lock index 6c83f6e..6c56873 100644 --- a/flake.lock +++ b/flake.lock @@ -192,6 +192,20 @@ "type": "github" } }, + "flake-compat_2": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -227,6 +241,24 @@ "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz" } }, + "flake-utils": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "fromYaml": { "flake": false, "locked": { @@ -741,6 +773,21 @@ "type": "github" } }, + "nix-filter": { + "locked": { + "lastModified": 1731533336, + "narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "f7653272fd234696ae94229839a99b73c9ab7de0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-filter", + "type": "github" + } + }, "nix-github-actions": { "inputs": { "nixpkgs": [ @@ -942,7 +989,8 @@ "plasma-manager": "plasma-manager", "rust-overlay": "rust-overlay_2", "secrets": "secrets", - "stylix": "stylix" + "stylix": "stylix", + "winapps": "winapps" } }, "rust-overlay": { @@ -1081,6 +1129,21 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { @@ -1162,6 +1225,29 @@ "type": "github" } }, + "winapps": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils", + "nix-filter": "nix-filter", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1760436527, + "narHash": "sha256-WL9Z2xhyouu4XIKPdqhmRWlZbSvRXD2rInXOZD88u0Y=", + "owner": "winapps-org", + "repo": "winapps", + "rev": "9ff17d1baacfcf1f91f09345a3b70eacf8604a41", + "type": "github" + }, + "original": { + "owner": "winapps-org", + "repo": "winapps", + "type": "github" + } + }, "xdph": { "inputs": { "hyprland-protocols": [ diff --git a/flake.nix b/flake.nix index 7c093a9..3a24fda 100644 --- a/flake.nix +++ b/flake.nix @@ -107,6 +107,11 @@ inputs.home-manager.follows = "home-manager"; }; + winapps = { + url = "github:winapps-org/winapps"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + stylix.url = "github:nix-community/stylix"; emacs-overlay = { diff --git a/hosts/duskfall/configuration.nix b/hosts/duskfall/configuration.nix index cd97bfb..42ad27e 100644 --- a/hosts/duskfall/configuration.nix +++ b/hosts/duskfall/configuration.nix @@ -17,7 +17,7 @@ # software flatpak.enable = false; virtualization = { - docker.enable = true; + docker.enable = false; virtualMachines.enable = false; }; brave.enable = true; diff --git a/hosts/snowfire/configuration.nix b/hosts/snowfire/configuration.nix index 17c9e0a..f4636b7 100644 --- a/hosts/snowfire/configuration.nix +++ b/hosts/snowfire/configuration.nix @@ -20,6 +20,7 @@ virtualization = { docker.enable = true; virtualMachines.enable = true; + winapps.enable = true; }; brave.enable = true; diff --git a/modules/system/virtualization/docker/default.nix b/modules/system/virtualization/docker/default.nix index b153f1a..297cfe9 100644 --- a/modules/system/virtualization/docker/default.nix +++ b/modules/system/virtualization/docker/default.nix @@ -10,7 +10,7 @@ in { }; }; - config = { + config = lib.mkIf cfg.enable { virtualisation.docker = { enable = true; enableOnBoot = true; diff --git a/modules/system/virtualization/winapps/default.nix b/modules/system/virtualization/winapps/default.nix new file mode 100644 index 0000000..1c715a7 --- /dev/null +++ b/modules/system/virtualization/winapps/default.nix @@ -0,0 +1,18 @@ +{ config, lib, pkgs, inputs, ... }: + +let + cfg = config.systemSettings.virtualization.winapps; +in { + options = { + systemSettings.virtualization.winapps = { + enable = lib.mkEnableOption "Enable winapps"; + }; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = with inputs.winapps.packages."${pkgs.system}"; [ + winapps + winapps-launcher + ] ++ [ pkgs.freerdp ]; + }; +}