From 4f65cde62605e5cfea8d51c739c4f33043bd1a90 Mon Sep 17 00:00:00 2001 From: Rachel Lambda Samuelsson Date: Thu, 12 Oct 2023 23:24:36 +0200 Subject: [PATCH] add agda as flake --- flake.lock | 42 ++++++++++++++++++---------- flake.nix | 60 ++++++++++++++++++++++------------------ home/rachel.nix | 6 ++-- lambda/configuration.nix | 1 + 4 files changed, 65 insertions(+), 44 deletions(-) diff --git a/flake.lock b/flake.lock index 4aa0d9a..c0ea760 100644 --- a/flake.lock +++ b/flake.lock @@ -2,26 +2,22 @@ "nodes": { "agda": { "inputs": { - "flake-utils": [ - "cornelis", - "flake-utils" - ], + "flake-utils": "flake-utils", "nixpkgs": [ - "cornelis", "nixpkgs" ] }, "locked": { - "lastModified": 1691269274, - "narHash": "sha256-50AftPkM7m51KjvWZM2c1jqxXu6k3HNuYMh5WnCkuFc=", + "lastModified": 1696540558, + "narHash": "sha256-fqYyjgOFQrU4ryGcLyz5gMYMdPk1P24ra7kQiUrbilg=", "owner": "agda", "repo": "agda", - "rev": "d4e6bf47156784efc1e74d0f0f2eeadc90a5611b", + "rev": "f42acb696e43d382639f04f869e9a99ab36a91c6", "type": "github" }, "original": { "owner": "agda", - "ref": "v2.6.3.20230805", + "ref": "v2.6.4", "repo": "agda", "type": "github" } @@ -44,10 +40,12 @@ }, "cornelis": { "inputs": { - "agda": "agda", + "agda": [ + "agda" + ], "agda-stdlib-source": "agda-stdlib-source", "flake-compat": "flake-compat", - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs" }, "locked": { @@ -81,6 +79,21 @@ } }, "flake-utils": { + "locked": { + "lastModified": 1678901627, + "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { "inputs": { "systems": "systems" }, @@ -121,11 +134,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1696419054, - "narHash": "sha256-EdR+dIKCfqL3voZUDYwcvgRDOektQB9KbhBVcE0/3Mo=", + "lastModified": 1697009197, + "narHash": "sha256-viVRhBTFT8fPJTb1N3brQIpFZnttmwo3JVKNuWRVc3s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7131f3c223a2d799568e4b278380cd9dac2b8579", + "rev": "01441e14af5e29c9d27ace398e6dd0b293e25a54", "type": "github" }, "original": { @@ -153,6 +166,7 @@ }, "root": { "inputs": { + "agda": "agda", "cornelis": "cornelis", "home-manager": "home-manager", "nixpkgs": "nixpkgs_2" diff --git a/flake.nix b/flake.nix index 8e41200..a9f7a51 100644 --- a/flake.nix +++ b/flake.nix @@ -6,48 +6,54 @@ nixpkgs.url = "github:NixOs/nixpkgs/nixos-23.05"; home-manager.url = "github:nix-community/home-manager/release-23.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; + agda.url = "github:agda/agda/v2.6.4"; + agda.inputs.nixpkgs.follows = "nixpkgs"; cornelis.url = "github:isovector/cornelis"; + cornelis.inputs.agda.follows = "agda"; }; - outputs = { self, nixpkgs, home-manager, cornelis }: { - - nixosConfigurations.lambda = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ + outputs = { self, nixpkgs, home-manager, agda, cornelis }: + let nix-config-module = { nix.registry.nixpkgs.flake = nixpkgs; system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev; - } + }; + rachel-home-module = + ({ pkgs, ... }: + let system = pkgs.stdenv.system; + in { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users.rachel = import ./home/rachel.nix { + pkgs = pkgs; + agda = agda.packages.${system}.Agda; + cornelis = cornelis.packages.${system}.cornelis; + cornelis-vim = cornelis.packages.${system}.cornelis-vim; + }; + }; + } + ); + in + { + + nixosConfigurations.lambda = nixpkgs.lib.nixosSystem rec { + system = "x86_64-linux"; + modules = [ + nix-config-module ./lambda/configuration.nix home-manager.nixosModules.home-manager - ({ pkgs, ...}: { - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - users.rachel = import ./home/rachel.nix { - inherit cornelis pkgs; - }; - }; - }) + rachel-home-module ]; }; - nixosConfigurations.computational = nixpkgs.lib.nixosSystem { + nixosConfigurations.computational = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; modules = [ - { - nix.registry.nixpkgs.flake = nixpkgs; - system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev; - } + nix-config-module ./computational/configuration.nix home-manager.nixosModules.home-manager - { - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - users.rachel = import ./home/rachel.nix; - }; - } + rachel-home-module ]; }; diff --git a/home/rachel.nix b/home/rachel.nix index 2fe9d0b..fe4d7ae 100644 --- a/home/rachel.nix +++ b/home/rachel.nix @@ -1,4 +1,4 @@ -{ pkgs, cornelis, ... }: +{ pkgs, cornelis, cornelis-vim, agda, ... }: let username = "rachel"; homeDir = "/home/${username}"; SAX2 = pkgs.fetchurl { @@ -77,7 +77,7 @@ in rmapi lutris texlive.combined.scheme-full - cornelis.packages.x86_64-linux.cornelis + cornelis ]; stateVersion = "23.05"; }; @@ -220,7 +220,7 @@ in lightline-vim lightline-gruvbox-vim tmux-nvim - cornelis.packages.x86_64-linux.cornelis-vim + cornelis-vim ]; }; diff --git a/lambda/configuration.nix b/lambda/configuration.nix index 5a3efad..b0bc675 100644 --- a/lambda/configuration.nix +++ b/lambda/configuration.nix @@ -93,6 +93,7 @@ }; }; + nixpkgs.config.allowUnfree = true; # [DESKTOP / XORG / WAYLAND]