From 0b7a643ec291d8bda1f91db3cc1e436d317e6e1e Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Fri, 23 Feb 2024 08:49:10 -0800 Subject: nix libraries and modules will be under `nix/` --- flake.nix | 4 +- flake/devshell.nix | 101 ------------------------------------------------- flake/hosts.nix | 30 --------------- nix/flake/devshell.nix | 101 +++++++++++++++++++++++++++++++++++++++++++++++++ nix/flake/hosts.nix | 30 +++++++++++++++ 5 files changed, 133 insertions(+), 133 deletions(-) delete mode 100644 flake/devshell.nix delete mode 100644 flake/hosts.nix create mode 100644 nix/flake/devshell.nix create mode 100644 nix/flake/hosts.nix diff --git a/flake.nix b/flake.nix index 321b657..ab53de9 100644 --- a/flake.nix +++ b/flake.nix @@ -45,8 +45,8 @@ systems = [ "aarch64-darwin" "x86_64-linux" ]; imports = [ - ./flake/devshell.nix - ./flake/hosts.nix + ./nix/flake/devshell.nix + ./nix/flake/hosts.nix ]; }; } diff --git a/flake/devshell.nix b/flake/devshell.nix deleted file mode 100644 index 79bb2f9..0000000 --- a/flake/devshell.nix +++ /dev/null @@ -1,101 +0,0 @@ -{ inputs, ... }: { - imports = [ - inputs.devshell.flakeModule - inputs.treefmt-nix.flakeModule - inputs.pre-commit-hooks.flakeModule - ]; - - perSystem = - { config - , pkgs - , ... - }: { - devshells.default = { - name = "world"; - - packages = with pkgs; [ - (config.treefmt.build.wrapper) - - python3 - - go_1_21 - gopls - golangci-lint - goreleaser - ]; - - devshell.startup = { - pre-commit.text = config.pre-commit.installationScript; - }; - - commands = [ - { package = config.treefmt.build.wrapper; } - { - name = "environment"; - help = "Print various information from CI"; - category = "CI"; - command = "make build-environment"; - } - { - name = "update"; - help = "Update + Commit the Lock File"; - command = "nix flake update --commit-lock-file"; - category = "nix"; - } - { - name = "build-darwin"; - category = "darwin"; - help = "Build the current darwin configuration"; - command = "darwin-rebuild build --flake .#"; - } - { - name = "switch-darwin"; - category = "darwin"; - help = "Switch to the current darwin configuration"; - command = "darwin-rebuild switch --flake .#"; - } - { - name = "build-commands"; - category = "cmd"; - help = "Build all the commands"; - command = "make build-binaries"; - } - { - name = "clean"; - category = "cmd"; - help = "Delete all the artifacts in bin/"; - command = "make clean"; - } - ]; - }; - - treefmt = { - projectRootFile = ".git/config"; - - # list of supported programs - # https://github.com/numtide/treefmt-nix - programs = { - gofmt.enable = true; - gofumpt.enable = true; - nixpkgs-fmt.enable = true; - shellcheck.enable = true; - shfmt.enable = true; - taplo.enable = true; - # I don't understand why this is causing issues in CI. When - # I run `nix flake check` locally I don't get any issues but - # CI is failing with errors in some of the workflows. - # Commenting this until I have a proper solution - # yamlfmt.enable = true; - }; - }; - - pre-commit = { - settings = { - hooks = { - deadnix.enable = true; - treefmt.enable = true; - }; - }; - }; - }; -} diff --git a/flake/hosts.nix b/flake/hosts.nix deleted file mode 100644 index 7fc0612..0000000 --- a/flake/hosts.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ inputs, ... }: -let - inherit (inputs) nixpkgs darwin home-manager firefox-darwin nur; - inherit (nixpkgs.lib) mkMerge; - - mkDarwinConfig = system: path: - darwin.lib.darwinSystem { - inherit system; - modules = [ - home-manager.darwinModule - path - { - nixpkgs.overlays = [ - firefox-darwin.overlay - nur.overlay - ]; - } - ]; - specialArgs = { inherit inputs; }; - }; -in -{ - flake = mkMerge [ - { - darwinConfigurations = { - mba-fcuny = mkDarwinConfig "aarch64-darwin" ../hosts/mba; - }; - } - ]; -} diff --git a/nix/flake/devshell.nix b/nix/flake/devshell.nix new file mode 100644 index 0000000..79bb2f9 --- /dev/null +++ b/nix/flake/devshell.nix @@ -0,0 +1,101 @@ +{ inputs, ... }: { + imports = [ + inputs.devshell.flakeModule + inputs.treefmt-nix.flakeModule + inputs.pre-commit-hooks.flakeModule + ]; + + perSystem = + { config + , pkgs + , ... + }: { + devshells.default = { + name = "world"; + + packages = with pkgs; [ + (config.treefmt.build.wrapper) + + python3 + + go_1_21 + gopls + golangci-lint + goreleaser + ]; + + devshell.startup = { + pre-commit.text = config.pre-commit.installationScript; + }; + + commands = [ + { package = config.treefmt.build.wrapper; } + { + name = "environment"; + help = "Print various information from CI"; + category = "CI"; + command = "make build-environment"; + } + { + name = "update"; + help = "Update + Commit the Lock File"; + command = "nix flake update --commit-lock-file"; + category = "nix"; + } + { + name = "build-darwin"; + category = "darwin"; + help = "Build the current darwin configuration"; + command = "darwin-rebuild build --flake .#"; + } + { + name = "switch-darwin"; + category = "darwin"; + help = "Switch to the current darwin configuration"; + command = "darwin-rebuild switch --flake .#"; + } + { + name = "build-commands"; + category = "cmd"; + help = "Build all the commands"; + command = "make build-binaries"; + } + { + name = "clean"; + category = "cmd"; + help = "Delete all the artifacts in bin/"; + command = "make clean"; + } + ]; + }; + + treefmt = { + projectRootFile = ".git/config"; + + # list of supported programs + # https://github.com/numtide/treefmt-nix + programs = { + gofmt.enable = true; + gofumpt.enable = true; + nixpkgs-fmt.enable = true; + shellcheck.enable = true; + shfmt.enable = true; + taplo.enable = true; + # I don't understand why this is causing issues in CI. When + # I run `nix flake check` locally I don't get any issues but + # CI is failing with errors in some of the workflows. + # Commenting this until I have a proper solution + # yamlfmt.enable = true; + }; + }; + + pre-commit = { + settings = { + hooks = { + deadnix.enable = true; + treefmt.enable = true; + }; + }; + }; + }; +} diff --git a/nix/flake/hosts.nix b/nix/flake/hosts.nix new file mode 100644 index 0000000..e3d1fff --- /dev/null +++ b/nix/flake/hosts.nix @@ -0,0 +1,30 @@ +{ inputs, ... }: +let + inherit (inputs) nixpkgs darwin home-manager firefox-darwin nur; + inherit (nixpkgs.lib) mkMerge; + + mkDarwinConfig = system: path: + darwin.lib.darwinSystem { + inherit system; + modules = [ + home-manager.darwinModule + path + { + nixpkgs.overlays = [ + firefox-darwin.overlay + nur.overlay + ]; + } + ]; + specialArgs = { inherit inputs; }; + }; +in +{ + flake = mkMerge [ + { + darwinConfigurations = { + mba-fcuny = mkDarwinConfig "aarch64-darwin" ../../hosts/mba; + }; + } + ]; +} -- cgit 1.4.1