home

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit a31e745ee106ca0eeba90861365fffb01fd4abaf
parent 6ca70fd3ba4aede295c81c58d572bc93639429b7
Author: Vincent Demeester <vincent@sbr.pm>
Date:   Mon, 30 Aug 2021 14:29:43 +0200

Remove flake for now 😅

Migrating to flake isn't the optimal setup for me as of today. Let's
stick to standard nix + niv and see what happens to flake when they
are out of experimental.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>

Diffstat:
Dflake.lock | 175-------------------------------------------------------------------------------
Dflake.nix | 435-------------------------------------------------------------------------------
2 files changed, 0 insertions(+), 610 deletions(-)

diff --git a/flake.lock b/flake.lock @@ -1,175 +0,0 @@ -{ - "nodes": { - "emacs": { - "locked": { - "lastModified": 1620356930, - "narHash": "sha256-eQa82tat0z3JPOMNiU/YQIHwHi1+TmZFRsWTUB1Y7bk=", - "owner": "nix-community", - "repo": "emacs-overlay", - "rev": "8e56d29d2b766d9fd44afc38a9447413cec76d5d", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "master", - "repo": "emacs-overlay", - "type": "github" - } - }, - "gitignore-nix": { - "flake": false, - "locked": { - "lastModified": 1611672876, - "narHash": "sha256-qHu3uZ/o9jBHiA3MEKHJ06k7w4heOhA+4HCSIvflRxo=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "211907489e9f198594c0eb0ca9256a1949c9d412", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "ref": "master", - "repo": "gitignore.nix", - "type": "github" - } - }, - "home-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1620337456, - "narHash": "sha256-w4Z6NYNYI3v++Pmqs4j1pPGdWJEyjGQat5rYxkhncMI=", - "owner": "rycee", - "repo": "home-manager", - "rev": "86944b0fb15f89bc1173efabbce556260a410154", - "type": "github" - }, - "original": { - "owner": "rycee", - "ref": "master", - "repo": "home-manager", - "type": "github" - } - }, - "nix-darwin": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1617693609, - "narHash": "sha256-/+6wm08yHK8mhyljzELD4WE9Gh8XUVbHL0R1TQpZtTQ=", - "owner": "LnL7", - "repo": "nix-darwin", - "rev": "a7492a8c76dcc702d0a65cd820a5f9baa8702684", - "type": "github" - }, - "original": { - "owner": "LnL7", - "ref": "master", - "repo": "nix-darwin", - "type": "github" - } - }, - "nixos": { - "locked": { - "lastModified": 1625176478, - "narHash": "sha256-s1RTYNKw7ySyqrZjns9Cq+Nnjpp75ePgL06pgcbIpoA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "21b696caf392ad6fa513caf3327d0aa0430ffb72", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-21.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixos-hardware": { - "locked": { - "lastModified": 1619336929, - "narHash": "sha256-joIC2D26jtSbHodR/o8r+5T9XL2hXs6NIp5mVyA4JOc=", - "owner": "NixOS", - "repo": "nixos-hardware", - "rev": "f7540d6c27704ec0fe56ecc8b2a9b663181850b0", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "master", - "repo": "nixos-hardware", - "type": "github" - } - }, - "nixos-unstable": { - "locked": { - "lastModified": 1620340338, - "narHash": "sha256-Op/4K0+Z9Sp5jtFH0s/zMM4H7VFZxrekcAmjQ6JpQ4w=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "63586475587d7e0e078291ad4b49b6f6a6885100", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1620374106, - "narHash": "sha256-1v3hj48aGu6pQZEW/nC/JIi+S1oUL3pJwCAyi4GLXNQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1c16013bd6e94da748b41cc123c6b509a23eb440", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, - "nyxt": { - "flake": false, - "locked": { - "lastModified": 1620308633, - "narHash": "sha256-oowDsn1JbjkHQ6kfW/yKIuSGVTkm7iC6edXInYItb+E=", - "owner": "atlas-engineer", - "repo": "nyxt", - "rev": "11425b2300cbe295fc25beef7c52ebaf6a67cc20", - "type": "github" - }, - "original": { - "owner": "atlas-engineer", - "ref": "master", - "repo": "nyxt", - "type": "github" - } - }, - "root": { - "inputs": { - "emacs": "emacs", - "gitignore-nix": "gitignore-nix", - "home-manager": "home-manager", - "nix-darwin": "nix-darwin", - "nixos": "nixos", - "nixos-hardware": "nixos-hardware", - "nixos-unstable": "nixos-unstable", - "nixpkgs": "nixpkgs", - "nyxt": "nyxt" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flake.nix b/flake.nix @@ -1,435 +0,0 @@ -# flake.nix --- the heart of my home -# -# Author: Vincent Demeester <vincent@sbr.pm> -# URL: https://git.srb.ht/~vdemeester/home -# License: GPLv3 -# -# Welcome to ground zero. Where the whole flake gets set up and all its modules -# are loaded. -# -{ - description = '' - home is the personal mono-repo of Vincent Demeester; containing the declarative configuration of - servers, desktops, laptops - including dotfiles; a collection of packages; sources of several - websites like vincent.demeester.fr, … - ''; - - inputs = { - nixpkgs = { - type = "github"; - owner = "NixOS"; - repo = "nixpkgs"; - ref = "master"; - }; - nixos = { - type = "github"; - owner = "NixOS"; - repo = "nixpkgs"; - ref = "nixos-21.05"; - }; - nixos-unstable = { - type = "github"; - owner = "NixOS"; - repo = "nixpkgs"; - ref = "nixos-unstable"; - }; - nixos-hardware = { - type = "github"; - owner = "NixOS"; - repo = "nixos-hardware"; - ref = "master"; - }; - nix-darwin = { - type = "github"; - owner = "LnL7"; - repo = "nix-darwin"; - ref = "master"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - home-manager = { - type = "github"; - owner = "rycee"; - repo = "home-manager"; - ref = "master"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - emacs = { - type = "github"; - owner = "nix-community"; - repo = "emacs-overlay"; - ref = "master"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - nyxt = { - type = "github"; - owner = "atlas-engineer"; - repo = "nyxt"; - ref = "master"; - inputs.nixpkgs.follows = "nixpkgs"; - flake = false; - }; - gitignore-nix = { - type = "github"; - owner = "hercules-ci"; - repo = "gitignore.nix"; - ref = "master"; - flake = false; - }; - }; - - outputs = { self, ... } @ inputs: - with inputs.nixpkgs.lib; - let - # List systems that we support. - # So far it is only amd64 and aarch64 - forEachSystem = genAttrs [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; - - # mkPkgs makes pkgs for a system, given a pkgs attrset. - # The pkgs attrset can be taken from inputs nixos, nixos-unstable, nixpkgs. - mkPkgs = pkgs: system: import pkgs { - inherit system; - config = import ./nix/config.nix; - overlays = self.internal.overlays."${system}"; - }; - unstablePkgsBySystem = forEachSystem (mkPkgs inputs.nixos-unstable); - stablePkgsBySystem = forEachSystem (mkPkgs inputs.nixos); - pkgsBySystem = forEachSystem (mkPkgs inputs.nixpkgs); - - /* Creates a Nix Darwin configuration from a name and an attribute set. - */ - mkDarwinConfiguration = name: { pkgs - , config ? ./systems/hosts + "/${name}.nix" - , users ? [ "vincent" ] - }: - nameValuePair name (inputs.nix-darwin.lib.darwinsystem { - modules = [ - ( - ({ inputs, ... }: { - # Use the nixpkgs from the flake. - nixpkgs = { pkgs = pkgsBySystem."${system}"; }; - - # For compatibility with nix-shell, nix-build, etc. - environment.etc.nixpkgs.source = inputs.nixpkgs; - nix.nixPath = [ "nixpkgs=/etc/nixpkgs" "darwin=${inputs.nix-darwin}" ]; - - # Set system stuff - system.checks.verifyNixPath = false; - system.darwinVersion = lib.mkForce ( - "darwin" + toString config.system.stateVersion + "." + inputs.nix-darwin.shortRev - ); - system.darwinRevision = inputs.nix-darwin.rev; - system.nixpkgsVersion = - "${nixpkgs.lastModifiedDate or nixpkgs.lastModified}.${nixpkgs.shortRev}"; - system.nixpkgsRelease = lib.version; - system.nixpkgsRevision = nixpkgs.rev; - }) - ({ pkgs, ... }: { - # Don't rely on the configuration to enable a flake-compatible version of Nix. - nix = { - package = pkgs.nixFlakes; - extraOptions = "experimental-features = nix-command flakes"; - }; - }) - ({ lib, ... }: { - # Set the system configuration revision. - system.configurationRevision = lib.mkIf (self ? rev) self.rev; - }) - ({ inputs, ... }: { - # Re-expose self and nixpkgs as flakes. - nix.registry = { - self.flake = inputs.self; - nixpkgs = { - from = { id = "nixpkgs"; type = "indirect"; }; - flake = inputs.nixpkgs; - }; - }; - }) - (import ./systems/modules/default.flake.nix) - (import config) - ) - ]; - }); - - /* Creates a NixOS configuration from a `name` and an attribute set. - The attribute set is composed of: - - pkgs: the package set to use. To be taken from the inputs (inputs.nixos, …) - - system: the architecture of the system. Default is x86_64-linux. - - config: the configuration path that will be imported - - users: the list of user configuration to import - */ - mkNixOsConfiguration = name: { pkgs - , system ? "x86_64-linux" - , config ? ./systems/hosts + "/${name}.flake.nix" - , users ? [ "root" "vincent" ] - }: - # assert asserts.assertMsg (builtins.pathExists config) "${name} has no configuration, create one in ./systems/hosts/${name}.flake.nix"; - nameValuePair name (nixosSystem { - inherit system; - modules = [ - ({ name, ... }: { - # Set the hostname to the name of the configuration being applied (since the - # configuration being applied is determined by the hostname). - networking.hostName = name; - }) - ({ inputs, ... }: { - # Use the nixpkgs from the flake. - nixpkgs = { pkgs = pkgsBySystem."${system}"; }; - - # For compatibility with nix-shell, nix-build, etc. - environment.etc.nixpkgs.source = inputs.nixpkgs; - nix.nixPath = [ "nixpkgs=/etc/nixpkgs" ]; - }) - ({ pkgs, ... }: { - # Don't rely on the configuration to enable a flake-compatible version of Nix. - nix = { - package = pkgs.nixFlakes; - extraOptions = "experimental-features = nix-command flakes"; - }; - }) - ({ lib, ... }: { - # Set the system configuration revision. - system.configurationRevision = lib.mkIf (self ? rev) self.rev; - }) - ({ inputs, ... }: { - # Re-expose self and nixpkgs as flakes. - nix.registry = { - self.flake = inputs.self; - nixpkgs = { - from = { id = "nixpkgs"; type = "indirect"; }; - flake = inputs.nixpkgs; - }; - }; - }) - (import ./systems/modules/default.flake.nix) - (import config) - ] - # Load user configuration based on the list of users passed. - ++ (map (f: import (./users + ("/" + f + "/default.flake.nix"))) users); - specialArgs = { inherit name inputs; }; - }); - - /* - mkHomeManagerConfiguration creates a home-manager configuration from a `name` (a user) and an attribute set. - The attribute set is composed of: - - config: the configuration path that will be imported, by default `./users/{name}/home.nix - - It loads home-manager specific modules and config and set a minimum set of configuration file - to integrate with flakes a bit better. - - It can be used in a configuration as following: - `home-manager.users.vincent = inputs.self.internal.homeManagerConfigurations."vincent";`. - */ - mkHomeManagerConfiguration = name: { config ? ./users + "/${name}/home.nix" }: - nameValuePair name ({ ... }: { - imports = [ - (import ./users/modules) - (import config) - ]; - # For compatibility with nix-shell, nix-build, etc. - home.file.".nixpkgs".source = inputs.nixpkgs; - systemd.user.sessionVariables."NIX_PATH" = - mkForce "nixpkgs=$HOME/.nixpkgs\${NIX_PATH:+:}$NIX_PATH"; - - # Use the same Nix configuration throughout the system. - xdg.configFile."nixpkgs/config.nix".source = ./nix/config.nix; - - # Re-expose self and nixpkgs as flakes. - xdg.configFile."nix/registry.json".text = builtins.toJSON { - version = 2; - flakes = - let - toInput = input: - { - type = "path"; - path = input.outPath; - } // ( - filterAttrs - (n: _: n == "lastModified" || n == "rev" || n == "revCount" || n == "narHash") - input - ); - in - [ - { - from = { id = "self"; type = "indirect"; }; - to = toInput inputs.self; - } - { - from = { id = "nixpkgs"; type = "indirect"; }; - to = toInput inputs.nixpkgs; - } - ]; - }; - }); - in - { - # `internal` isn't a known output attribute for flakes. It is used here to contain - # anything that isn't meant to be re-usable. - # Taken from davidtwco/veritas repository :) - internal = { - - # Expose the development shells defined in the repository, run these with: - # - # nix develop '.#devShells.x86_64-linux.cargo' - devShells = forEachSystem (system: - let - pkgs = pkgsBySystem."${system}"; - in - { - # FIXME define your own here - cargo = import ./nix/shells/cargo.nix { inherit pkgs; }; - } - ); - - # Attribute set of hostnames to home-manager modules with the entire configuration for - # that host - consumed by the home-manager NixOS module for that host (if it exists) - # or by `mkHomeManagerHostConfiguration` for home-manager-only hosts. - homeManagerConfigurations = mapAttrs' mkHomeManagerConfiguration { - vincent = { }; - root = { }; - houbeb = { }; - }; - - # Overlays consumed by the home-manager/NixOS configuration. - overlays = forEachSystem (system: [ - (self.overlay."${system}") - (_: _: import inputs.gitignore-nix { lib = inputs.nixpkgs.lib; }) - #inputs.nyxt.overlay - inputs.emacs.overlay - (import ./nix/overlays/infra.nix) - (import ./nix/overlays/mkSecret.nix) - ]); - }; - - # Attribute set of hostnames to be evaluated as NixOS configurations. Consumed by - # `nixos-rebuild` on those hosts. - nixosConfigurations = mapAttrs' mkNixOsConfiguration { - # FIXME remove .flake "suffix" once they all got migrated - naruhodo = { pkgs = inputs.nixos-unstable; system = "x86_64-linux"; }; - wakasu = { pkgs = inputs.nixos-unstable; system = "x86_64-linux"; }; - okinawa = { pkgs = inputs.nixos; system = "x86_64-linux"; }; - sakhalin = { pkgs = inputs.nixos; system = "x86_64-linux"; }; - kerkouane = { pkgs = inputs.nixos; system = "x86_64-linux"; }; - # TODO raspberry pi 8G x 3 (name them too) - monastir = { pkgs = inputs.nixos; system = "aarch64-linux"; }; - kairouan = { pkgs = inputs.nixos; system = "aarch64-linux"; }; - nabeul = { pkgs = inputs.nixos; system = "aarch64-linux"; }; - # TODO VMs - foo = { pkgs = inputs.nixos-unstable; users = [ "vincent" "houbeb" "root" ]; }; - }; - - # Attribute set of hostnames to be evaluated as nix-darwin configurations. - darwinConfigurations = mapAttrs' mkDarwinConfiguration { - honshu = { pkgs = inputs.nixpkgs; }; - }; - - # Import the modules exported by this flake. - # containerd, buildkit are interesting module to export from here - nixosModules = { - # containerd = import ./systems/modules/virtualisation/containerd.nix; - buildkit = import ./systems/modules/virtualisation/buildkit.nix; - }; - - # Expose a dev shell which contains tools for working on this repository. - devShell = forEachSystem (system: - with pkgsBySystem."${system}"; - - mkShell { - name = "home"; - buildInputs = [ - cachix - git-crypt - nixpkgs-fmt - gnumake - ]; - } - ); - - # Expose an overlay which provides the packages defined by this repository. - # - # Overlays are used more widely in this repository, but often for modifying upstream packages - # or making third-party packages easier to access - it doesn't make sense to share those, - # so they in the flake output `internal.overlays`. - # - # These are meant to be consumed by other projects that might import this flake. - overlay = forEachSystem (system: _: _: self.packages."${system}"); - - # Expose the packages defined in this flake, built for any supported systems. These are - # meant to be consumed by other projects that might import this flake. - # - # Internal packages are handled through overlay definition, in internal. - # Note: they are also added to the systems overlay so there is no duplication of definition. - packages = forEachSystem - (system: - let - pkgs = pkgsBySystem."${system}"; - in - { - # FIXME Do I really need / want that - apeStable = stablePkgsBySystem."${system}".callPackage ./nix/packages/ape { }; - apeUnstable = unstablePkgsBySystem."${system}".callPackage ./nix/packages/ape { }; - ape = pkgs.callPackage ./nix/packages/ape { }; - - nr = pkgs.callPackage ./nix/packages/nr { }; - ram = pkgs.callPackage ./nix/packages/ram { }; - systemd-email = pkgs.callPackage ./nix/packages/systemd-email { }; - - adi1090x-plymouth = pkgs.callPackage ./nix/packages/adi1090x-plymouth { }; - - batzconverter = pkgs.callPackage ./nix/packages/batzconverter { }; - # Tekton - inherit (pkgs.callPackage ./nix/packages/tkn { }) - tkn_0_13 - tkn_0_14 - tkn_0_15 - tkn_0_16 - tkn_0_17 - tkn_0_18 - tkn_0_19 - tkn_0_20 - tkn - ; - - manifest-tool = pkgs.callPackage ./nix/packages/manifest-tool { }; - ko = pkgs.callPackage ./nix/packages/ko { }; - buildx = pkgs.callPackage ./nix/packages/buildx { }; - buildkit = pkgs.callPackage ./nix/packages/buildkit { }; - } // optionalAttrs (system == "x86_64-linux") { - # OpenShift - - inherit (pkgs.callPackage ./nix/packages/odo { }) - odo_1_2 - odo_2_0 - odo_2_1 - odo_2_2 - odo - ; - inherit (pkgs.callPackage ./nix/packages/kam { }) - kam_1_1 - kam - ; - inherit (pkgs.callPackage ./nix/packages/oc { }) - oc_4_1 - oc_4_2 - oc_4_3 - oc_4_4 - oc_4_5 - oc_4_6 - oc_4_7 - oc_4_8 - oc - ; - inherit (pkgs.callPackage ./nix/packages/openshift-install { }) - openshift-install_4_3 - openshift-install_4_4 - openshift-install_4_5 - openshift-install_4_6 - openshift-install_4_7 - openshift-install_4_8 - openshift-install - ; - }); - - # defaultPackage.x86_64-linux = self.packages.x86_64-linux.hello; - - }; -}