diff --git a/devshells/idris2.nix b/devshells/idris2.nix index ed2ed75..0a03015 100644 --- a/devshells/idris2.nix +++ b/devshells/idris2.nix @@ -23,7 +23,7 @@ "/share" ]; }; - libPackages = with pkgs; [ readline70 ]; + libPackages = with pkgs; [ readline70 openssl ]; in pkgs.mkShell { buildInputs = diff --git a/flake.lock b/flake.lock index 67aad86..3a63a62 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1728330715, - "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", + "lastModified": 1735644329, + "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", "owner": "numtide", "repo": "devshell", - "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", + "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", "type": "github" }, "original": { @@ -39,11 +39,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1736143030, + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", "type": "github" }, "original": { @@ -70,24 +70,6 @@ "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "flakey-profile": { "locked": { "lastModified": 1712898590, @@ -110,11 +92,11 @@ ] }, "locked": { - "lastModified": 1734366194, - "narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=", + "lastModified": 1736373539, + "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", "owner": "nix-community", "repo": "home-manager", - "rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f", + "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", "type": "github" }, "original": { @@ -159,18 +141,33 @@ "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz" } }, + "nixos-hardware": { + "locked": { + "lastModified": 1736283893, + "narHash": "sha256-BG1FfTexFwNty5VhYjaQLMR6CMPfI3QRcaZrFQYu2EM=", + "owner": "NixOS", + "repo": "nixos-hardware", + "rev": "4f339f6be2b61662f957c2ee9eda0fa597d8a6d6", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "master", + "repo": "nixos-hardware", + "type": "github" + } + }, "nixos-wsl": { "inputs": { "flake-compat": "flake-compat", - "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1733854371, - "narHash": "sha256-K9qGHniYBbjqVcEiwXyiofj/IFf78L5F0/FCf+CKyr0=", + "lastModified": 1736095716, + "narHash": "sha256-csysw/Szu98QDiA2lhWk9seYOyCebeVEWL89zh1cduM=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "dee4425dcee3149475ead0cb6a616b8a028c5888", + "rev": "63c3b4ed1712a3a0621002cd59bfdc80875ecbb0", "type": "github" }, "original": { @@ -198,23 +195,23 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1733096140, - "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", + "lastModified": 1735774519, + "narHash": "sha256-CewEm1o2eVAnoqb6Ml+Qi9Gg/EfNAxbRx1lANGVyoLI=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "lastModified": 1736012469, + "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", "type": "github" }, "original": { @@ -242,11 +239,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1735141468, - "narHash": "sha256-VIAjBr1qGcEbmhLwQJD6TABppPMggzOvqFsqkDoMsAY=", + "lastModified": 1736200483, + "narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4005c3ff7505313cbc21081776ad0ce5dfd7a3ce", + "rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751", "type": "github" }, "original": { @@ -262,6 +259,7 @@ "flake-parts": "flake-parts", "home-manager": "home-manager", "lix-module": "lix-module", + "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable" @@ -281,21 +279,6 @@ "repo": "default", "type": "github" } - }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index c13f841..0f06d06 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,9 @@ inputs.nixpkgs.follows = "nixpkgs"; }; devshell.url = "github:numtide/devshell"; + nixos-hardware = { + url = "github:NixOS/nixos-hardware/master"; + }; }; outputs = @@ -23,6 +26,7 @@ imports = [ inputs.devshell.flakeModule ./nixos/machines/wsl/configuration.nix + ./nixos/machines/installer/configuration.nix ./home-manager/machines/wsl/home.nix ./devshells/rust.nix ./devshells/idris2.nix diff --git a/nixos/machines/installer/configuration.nix b/nixos/machines/installer/configuration.nix new file mode 100644 index 0000000..216e31d --- /dev/null +++ b/nixos/machines/installer/configuration.nix @@ -0,0 +1,60 @@ +{ withSystem, inputs, ... }: +{ + # perSystem = { ... }: { config.packages.hello = ...; }; + + flake.nixosConfigurations.inst = withSystem "x86_64-linux" ( + ctx@{ config, inputs', ... }: + inputs.nixpkgs.lib.nixosSystem { + # Expose `packages`, `inputs` and `inputs'` as module arguments. + # Use specialArgs permits use in `imports`. + # Note: if you publish modules for reuse, do not rely on specialArgs, but + # on the flake scope instead. See also https://flake.parts/define-module-in-separate-file.html + specialArgs = { + packages = config.packages; + inherit inputs inputs'; + }; + modules = [ + "${inputs.nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix" + "${inputs.nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix" + inputs.nixos-hardware.nixosModules.microsoft-surface-common + ( + # NixOS-WSL specific options are documented on the NixOS-WSL repository: + # https://github.com/nix-community/NixOS-WSL + + { + config, + lib, + pkgs, + ... + }: + + { + imports = [ + ]; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; + + networking.hostId = "9affdaa4"; + + environment.systemPackages = with pkgs; [ + ]; + + time.timeZone = "America/Kentucky/Louisville"; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It's perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "24.11"; # Did you read the comment? + } + ) + ]; + } + ); +} diff --git a/nixos/machines/wsl/configuration.nix b/nixos/machines/wsl/configuration.nix index 1566c59..a79c28d 100644 --- a/nixos/machines/wsl/configuration.nix +++ b/nixos/machines/wsl/configuration.nix @@ -41,15 +41,21 @@ wsl.enable = true; wsl.defaultUser = "nathan"; + services.openssh.enable = true; + + services.tailscale.enable = true; + + nix.settings.system-features = ["x86_64-linux"]; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; - environment.systemPackages = - with pkgs; - [ - ]; + environment.systemPackages = with pkgs; [ + ]; + + time.timeZone = "America/Kentucky/Louisville"; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions