Simplify flake-parts modules
This commit is contained in:
parent
333f06a179
commit
dc57b47ab9
9 changed files with 281 additions and 312 deletions
1
.envrc
1
.envrc
|
@ -1,3 +1,4 @@
|
||||||
watch_dir ./base
|
watch_dir ./base
|
||||||
|
watch_dir ./sops
|
||||||
watch_file ./home-manager/default.nix
|
watch_file ./home-manager/default.nix
|
||||||
use flake
|
use flake
|
||||||
|
|
|
@ -1,57 +1,54 @@
|
||||||
{ flake-parts-lib, inputs, ... }:
|
{ inputs, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
inputs.treefmt-nix.flakeModule
|
inputs.treefmt-nix.flakeModule
|
||||||
inputs.git-hooks-nix.flakeModule
|
inputs.git-hooks-nix.flakeModule
|
||||||
inputs.devshell.flakeModule
|
inputs.devshell.flakeModule
|
||||||
];
|
];
|
||||||
options.perSystem = flake-parts-lib.mkPerSystemOption (
|
perSystem =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
config = {
|
devshells.default = {
|
||||||
devshells.default = {
|
commands = [
|
||||||
commands = [
|
{
|
||||||
{
|
help = " update dependencies";
|
||||||
help = " update dependencies";
|
name = "update";
|
||||||
name = "update";
|
command = "${pkgs.lix}/bin/nix flake update";
|
||||||
command = "${pkgs.lix}/bin/nix flake update";
|
category = " Flake";
|
||||||
category = " Flake";
|
}
|
||||||
}
|
{
|
||||||
{
|
help = " reload direnv environment";
|
||||||
help = " reload direnv environment";
|
name = "reload";
|
||||||
name = "reload";
|
command = "${pkgs.direnv}/bin/direnv reload";
|
||||||
command = "${pkgs.direnv}/bin/direnv reload";
|
category = " Flake";
|
||||||
category = " Flake";
|
}
|
||||||
}
|
];
|
||||||
];
|
packages = [
|
||||||
packages = [
|
pkgs.git
|
||||||
pkgs.git
|
pkgs.jujutsu
|
||||||
pkgs.jujutsu
|
pkgs.lix
|
||||||
pkgs.lix
|
pkgs.man
|
||||||
pkgs.man
|
pkgs.uutils-coreutils-noprefix
|
||||||
pkgs.uutils-coreutils-noprefix
|
];
|
||||||
];
|
devshell.startup = {
|
||||||
devshell.startup = {
|
pre-commit.text = ''
|
||||||
pre-commit.text = ''
|
${config.pre-commit.installationScript}
|
||||||
${config.pre-commit.installationScript}
|
'';
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
# https://flake.parts/options/git-hooks-nix.html
|
|
||||||
pre-commit.settings = {
|
|
||||||
hooks = {
|
|
||||||
treefmt = {
|
|
||||||
enable = true;
|
|
||||||
package = config.treefmt.build.wrapper;
|
|
||||||
};
|
|
||||||
check-merge-conflicts.enable = true;
|
|
||||||
check-symlinks.enable = true;
|
|
||||||
flake-checker.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# https://flake.parts/options/treefmt-nix.html
|
|
||||||
treefmt.projectRootFile = "flake.nix";
|
|
||||||
};
|
};
|
||||||
}
|
# https://flake.parts/options/git-hooks-nix.html
|
||||||
);
|
pre-commit.settings = {
|
||||||
|
hooks = {
|
||||||
|
treefmt = {
|
||||||
|
enable = true;
|
||||||
|
package = config.treefmt.build.wrapper;
|
||||||
|
};
|
||||||
|
check-merge-conflicts.enable = true;
|
||||||
|
check-symlinks.enable = true;
|
||||||
|
flake-checker.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# https://flake.parts/options/treefmt-nix.html
|
||||||
|
treefmt.projectRootFile = "flake.nix";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ flake-parts-lib, ... }:
|
{ ... }:
|
||||||
let
|
let
|
||||||
dictionary = [
|
dictionary = [
|
||||||
"Asahi"
|
"Asahi"
|
||||||
|
@ -11,7 +11,7 @@ let
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.perSystem = flake-parts-lib.mkPerSystemOption (
|
perSystem =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
tomlFormatter = pkgs.formats.toml { };
|
tomlFormatter = pkgs.formats.toml { };
|
||||||
|
@ -85,67 +85,64 @@ in
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = {
|
helix.languages.language-server = {
|
||||||
helix.languages.language-server = {
|
# https://ltex-plus.github.io/ltex-plus/supported-languages.html
|
||||||
# https://ltex-plus.github.io/ltex-plus/supported-languages.html
|
ltex-ls-plus = {
|
||||||
ltex-ls-plus = {
|
command = "${pkgs.ltex-ls-plus}/bin/ltex-ls-plus";
|
||||||
command = "${pkgs.ltex-ls-plus}/bin/ltex-ls-plus";
|
config.ltex = {
|
||||||
config.ltex = {
|
dictionary.en-US = dictionary;
|
||||||
dictionary.en-US = dictionary;
|
additionalRules.enablePickyRules = true;
|
||||||
additionalRules.enablePickyRules = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# https://vale.sh/docs/formats/code
|
|
||||||
vale-ls = {
|
|
||||||
command = "${pkgs.vale-ls}/bin/vale-ls";
|
|
||||||
config.configPath = "${vale.directory.path}/${vale.config.name}";
|
|
||||||
};
|
|
||||||
# https://writewithharper.com/docs/integrations/language-server#Supported-Languages
|
|
||||||
harper-ls.command = "${pkgs.harper}/bin/harper-ls";
|
|
||||||
typos = {
|
|
||||||
command = "${pkgs.typos-lsp}/bin/typos-lsp";
|
|
||||||
config.config = typos.file.outPath;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
pre-commit.settings = {
|
# https://vale.sh/docs/formats/code
|
||||||
hooks = {
|
vale-ls = {
|
||||||
typos = {
|
command = "${pkgs.vale-ls}/bin/vale-ls";
|
||||||
enable = true;
|
config.configPath = "${vale.directory.path}/${vale.config.name}";
|
||||||
settings = {
|
|
||||||
configPath = typos.file.outPath;
|
|
||||||
locale = "en-us";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
vale = {
|
|
||||||
enable = true;
|
|
||||||
settings.configPath = "${vale.directory.path}/${vale.config.name}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
excludes = [ "base/languages/en-us/.vale" ];
|
|
||||||
};
|
};
|
||||||
treefmt = {
|
# https://writewithharper.com/docs/integrations/language-server#Supported-Languages
|
||||||
programs.typos = {
|
harper-ls.command = "${pkgs.harper}/bin/harper-ls";
|
||||||
enable = true;
|
typos = {
|
||||||
configFile = typos.file.outPath;
|
command = "${pkgs.typos-lsp}/bin/typos-lsp";
|
||||||
locale = "en-us";
|
config.config = typos.file.outPath;
|
||||||
};
|
|
||||||
settings.global.excludes = [ "base/languages/en-us/.vale/*" ];
|
|
||||||
};
|
|
||||||
devshells.default = {
|
|
||||||
# commands = [
|
|
||||||
# {
|
|
||||||
# help = " sync vale configuration";
|
|
||||||
# name = "vale-sync";
|
|
||||||
# command = "${pkgs.vale}/bin/vale sync --config ${vale.valeDirectory}/${vale.config.filename}";
|
|
||||||
# category = " Languages (en_US)";
|
|
||||||
# }
|
|
||||||
# ];
|
|
||||||
# packages = [ pkgs.vale ];
|
|
||||||
# devshell.startup.vale_config.text = ''
|
|
||||||
# ${pkgs.uutils-coreutils-noprefix}/bin/ln -fs ${vale.config.file} ${vale.valeDirectory}/${vale.config.filename}
|
|
||||||
# '';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
pre-commit.settings = {
|
||||||
);
|
hooks = {
|
||||||
|
typos = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
configPath = typos.file.outPath;
|
||||||
|
locale = "en-us";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
vale = {
|
||||||
|
enable = true;
|
||||||
|
settings.configPath = "${vale.directory.path}/${vale.config.name}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
excludes = [ "base/languages/en-us/.vale" ];
|
||||||
|
};
|
||||||
|
treefmt = {
|
||||||
|
programs.typos = {
|
||||||
|
enable = true;
|
||||||
|
configFile = typos.file.outPath;
|
||||||
|
locale = "en-us";
|
||||||
|
};
|
||||||
|
settings.global.excludes = [ "base/languages/en-us/.vale/*" ];
|
||||||
|
};
|
||||||
|
devshells.default = {
|
||||||
|
# commands = [
|
||||||
|
# {
|
||||||
|
# help = " sync vale configuration";
|
||||||
|
# name = "vale-sync";
|
||||||
|
# command = "${pkgs.vale}/bin/vale sync --config ${vale.valeDirectory}/${vale.config.filename}";
|
||||||
|
# category = " Languages (en_US)";
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
# packages = [ pkgs.vale ];
|
||||||
|
# devshell.startup.vale_config.text = ''
|
||||||
|
# ${pkgs.uutils-coreutils-noprefix}/bin/ln -fs ${vale.config.file} ${vale.valeDirectory}/${vale.config.filename}
|
||||||
|
# '';
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,46 +1,43 @@
|
||||||
{ flake-parts-lib, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [ ../en-us ];
|
imports = [ ../en-us ];
|
||||||
options.perSystem = flake-parts-lib.mkPerSystemOption (
|
perSystem =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
config = {
|
helix.languages = {
|
||||||
helix.languages = {
|
language = [
|
||||||
language = [
|
{
|
||||||
{
|
name = "markdown";
|
||||||
name = "markdown";
|
language-servers = [
|
||||||
language-servers = [
|
"marksman"
|
||||||
"marksman"
|
"ltex-ls-plus"
|
||||||
"ltex-ls-plus"
|
"vale-ls"
|
||||||
"vale-ls"
|
"typos"
|
||||||
"typos"
|
];
|
||||||
|
formatter = {
|
||||||
|
command = "${config.treefmt.build.wrapper}/bin/treefmt";
|
||||||
|
args = [
|
||||||
|
"--stdin"
|
||||||
|
".md"
|
||||||
|
"--quiet"
|
||||||
];
|
];
|
||||||
formatter = {
|
|
||||||
command = "${config.treefmt.build.wrapper}/bin/treefmt";
|
|
||||||
args = [
|
|
||||||
"--stdin"
|
|
||||||
".md"
|
|
||||||
"--quiet"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
auto-format = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
language-server.marksman.command = "${pkgs.marksman}/bin/marksman";
|
|
||||||
};
|
|
||||||
treefmt.programs.dprint = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
plugins = (pkgs.dprint-plugins.getPluginList (plugins: with plugins; [ dprint-plugin-markdown ]));
|
|
||||||
markdown = {
|
|
||||||
lineWidth = 80;
|
|
||||||
textWrap = "always";
|
|
||||||
};
|
};
|
||||||
};
|
auto-format = true;
|
||||||
includes = [ "*.md" ];
|
}
|
||||||
};
|
];
|
||||||
pre-commit.settings.hooks.markdownlint.enable = true;
|
language-server.marksman.command = "${pkgs.marksman}/bin/marksman";
|
||||||
};
|
};
|
||||||
}
|
treefmt.programs.dprint = {
|
||||||
);
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
plugins = (pkgs.dprint-plugins.getPluginList (plugins: with plugins; [ dprint-plugin-markdown ]));
|
||||||
|
markdown = {
|
||||||
|
lineWidth = 80;
|
||||||
|
textWrap = "always";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
includes = [ "*.md" ];
|
||||||
|
};
|
||||||
|
pre-commit.settings.hooks.markdownlint.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ flake-parts-lib, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [ ../en-us ];
|
imports = [ ../en-us ];
|
||||||
options.perSystem = flake-parts-lib.mkPerSystemOption (
|
perSystem =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
helix.languages = {
|
helix.languages = {
|
||||||
|
@ -30,6 +30,5 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
strict = true;
|
strict = true;
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,35 +1,32 @@
|
||||||
{ flake-parts-lib, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [ ../en-us ];
|
imports = [ ../en-us ];
|
||||||
options.perSystem = flake-parts-lib.mkPerSystemOption (
|
perSystem =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
config = {
|
helix.languages = {
|
||||||
helix.languages = {
|
language = [
|
||||||
language = [
|
{
|
||||||
{
|
name = "toml";
|
||||||
name = "toml";
|
language-servers = [
|
||||||
language-servers = [
|
"taplo"
|
||||||
"taplo"
|
"harper-ls"
|
||||||
"harper-ls"
|
"typos"
|
||||||
"typos"
|
];
|
||||||
|
formatter = {
|
||||||
|
command = "${config.treefmt.build.wrapper}/bin/treefmt";
|
||||||
|
args = [
|
||||||
|
"--stdin"
|
||||||
|
".toml"
|
||||||
|
"--quiet"
|
||||||
];
|
];
|
||||||
formatter = {
|
};
|
||||||
command = "${config.treefmt.build.wrapper}/bin/treefmt";
|
auto-format = true;
|
||||||
args = [
|
}
|
||||||
"--stdin"
|
];
|
||||||
".toml"
|
language-server.taplo.command = "${pkgs.taplo}/bin/taplo";
|
||||||
"--quiet"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
auto-format = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
language-server.taplo.command = "${pkgs.taplo}/bin/taplo";
|
|
||||||
};
|
|
||||||
treefmt.programs.taplo.enable = true;
|
|
||||||
pre-commit.settings.hooks.check-toml.enable = true;
|
|
||||||
};
|
};
|
||||||
}
|
treefmt.programs.taplo.enable = true;
|
||||||
);
|
pre-commit.settings.hooks.check-toml.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,47 +1,44 @@
|
||||||
{ flake-parts-lib, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [ ../en-us ];
|
imports = [ ../en-us ];
|
||||||
options.perSystem = flake-parts-lib.mkPerSystemOption (
|
perSystem =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
config = {
|
helix.languages = {
|
||||||
helix.languages = {
|
language = [
|
||||||
language = [
|
{
|
||||||
{
|
name = "yaml";
|
||||||
name = "yaml";
|
language-servers = [
|
||||||
language-servers = [
|
"yaml-language-server"
|
||||||
"yaml-language-server"
|
"harper-ls"
|
||||||
"harper-ls"
|
"typos"
|
||||||
"typos"
|
];
|
||||||
|
formatter = {
|
||||||
|
command = "${config.treefmt.build.wrapper}/bin/treefmt";
|
||||||
|
args = [
|
||||||
|
"--stdin"
|
||||||
|
".yaml"
|
||||||
|
"--quiet"
|
||||||
];
|
];
|
||||||
formatter = {
|
};
|
||||||
command = "${config.treefmt.build.wrapper}/bin/treefmt";
|
auto-format = true;
|
||||||
args = [
|
}
|
||||||
"--stdin"
|
];
|
||||||
".yaml"
|
language-server.yaml-language-server.command = "${pkgs.yaml-language-server}/bin/yaml-language-server";
|
||||||
"--quiet"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
auto-format = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
language-server.yaml-language-server.command = "${pkgs.yaml-language-server}/bin/yaml-language-server";
|
|
||||||
};
|
|
||||||
treefmt.programs.dprint = {
|
|
||||||
enable = true;
|
|
||||||
settings.plugins = (
|
|
||||||
pkgs.dprint-plugins.getPluginList (plugins: with plugins; [ g-plane-pretty_yaml ])
|
|
||||||
);
|
|
||||||
includes = [
|
|
||||||
"*.yaml"
|
|
||||||
"*.yml"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
pre-commit.settings.hooks = {
|
|
||||||
check-yaml.enable = true;
|
|
||||||
sort-simple-yaml.enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
treefmt.programs.dprint = {
|
||||||
);
|
enable = true;
|
||||||
|
settings.plugins = (
|
||||||
|
pkgs.dprint-plugins.getPluginList (plugins: with plugins; [ g-plane-pretty_yaml ])
|
||||||
|
);
|
||||||
|
includes = [
|
||||||
|
"*.yaml"
|
||||||
|
"*.yml"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
pre-commit.settings.hooks = {
|
||||||
|
check-yaml.enable = true;
|
||||||
|
sort-simple-yaml.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,74 +1,61 @@
|
||||||
{
|
{ inputs, withSystem, ... }:
|
||||||
flake-parts-lib,
|
|
||||||
inputs,
|
|
||||||
withSystem,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
imports = [ inputs.home-manager.flakeModules.home-manager ];
|
imports = [ inputs.home-manager.flakeModules.home-manager ];
|
||||||
options = {
|
# https://nix-community.github.io/home-manager/options.xhtml
|
||||||
perSystem = flake-parts-lib.mkPerSystemOption (
|
flake.homeConfigurations = {
|
||||||
{ config, system, ... }:
|
asahi = withSystem "aarch64-linux" (
|
||||||
{
|
{ pkgs, ... }:
|
||||||
config =
|
inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
let
|
inherit pkgs;
|
||||||
pkgs = import inputs.nixpkgs {
|
extraSpecialArgs = { inherit inputs pkgs; };
|
||||||
inherit system;
|
modules = [
|
||||||
overlays = [
|
{ nixpkgs.overlays = [ inputs.nur.overlays.default ]; }
|
||||||
inputs.nur.overlays.default
|
inputs.lix-module.nixosModules.default
|
||||||
inputs.nixgl.overlays.default
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
];
|
inputs.stylix.homeModules.stylix
|
||||||
};
|
inputs.catppuccin.homeModules.catppuccin
|
||||||
in
|
./home.nix
|
||||||
{
|
];
|
||||||
_module.args.pkgs = pkgs;
|
|
||||||
devshells.default = {
|
|
||||||
commands = [
|
|
||||||
{
|
|
||||||
help = " `home-manager switch` for asahi";
|
|
||||||
name = "hm-asahi";
|
|
||||||
command = "${pkgs.home-manager}/bin/home-manager switch --flake .#asahi";
|
|
||||||
category = " home-manager (Asahi)";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
help = " `home-manager switch` for asahi with backup";
|
|
||||||
name = "hm-asahi-backup";
|
|
||||||
command = "${pkgs.home-manager}/bin/home-manager switch --flake .#asahi -b backup";
|
|
||||||
category = " home-manager (Asahi)";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
help = " show home-manager documentation";
|
|
||||||
name = "man-home";
|
|
||||||
command = "${pkgs.man}/bin/man home-configuration.nix";
|
|
||||||
category = " home-manager";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
packages = [ pkgs.home-manager ];
|
|
||||||
};
|
|
||||||
pre-commit.settings.excludes = [ "home-manager/vencord.nix" ];
|
|
||||||
treefmt.settings.global.excludes = [ "home-manager/vencord.nix" ];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
config = {
|
perSystem =
|
||||||
# https://nix-community.github.io/home-manager/options.xhtml
|
{ config, system, ... }:
|
||||||
flake.homeConfigurations = {
|
let
|
||||||
asahi = withSystem "aarch64-linux" (
|
pkgs = import inputs.nixpkgs {
|
||||||
{ pkgs, ... }:
|
inherit system;
|
||||||
inputs.home-manager.lib.homeManagerConfiguration {
|
overlays = [
|
||||||
inherit pkgs;
|
inputs.nur.overlays.default
|
||||||
extraSpecialArgs = { inherit inputs pkgs; };
|
inputs.nixgl.overlays.default
|
||||||
modules = [
|
];
|
||||||
{ nixpkgs.overlays = [ inputs.nur.overlays.default ]; }
|
};
|
||||||
inputs.lix-module.nixosModules.default
|
in
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
{
|
||||||
inputs.stylix.homeModules.stylix
|
_module.args.pkgs = pkgs;
|
||||||
inputs.catppuccin.homeModules.catppuccin
|
devshells.default = {
|
||||||
./home.nix
|
commands = [
|
||||||
];
|
{
|
||||||
}
|
help = " `home-manager switch` for asahi";
|
||||||
);
|
name = "hm-asahi";
|
||||||
|
command = "${pkgs.home-manager}/bin/home-manager switch --flake .#asahi";
|
||||||
|
category = " home-manager (Asahi)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
help = " `home-manager switch` for asahi with backup";
|
||||||
|
name = "hm-asahi-backup";
|
||||||
|
command = "${pkgs.home-manager}/bin/home-manager switch --flake .#asahi -b backup";
|
||||||
|
category = " home-manager (Asahi)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
help = " show home-manager documentation";
|
||||||
|
name = "man-home";
|
||||||
|
command = "${pkgs.man}/bin/man home-configuration.nix";
|
||||||
|
category = " home-manager";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
packages = [ pkgs.home-manager ];
|
||||||
|
};
|
||||||
|
pre-commit.settings.excludes = [ "home-manager/vencord.nix" ];
|
||||||
|
treefmt.settings.global.excludes = [ "home-manager/vencord.nix" ];
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,32 +1,29 @@
|
||||||
{ flake-parts-lib, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
options = {
|
perSystem =
|
||||||
perSystem = flake-parts-lib.mkPerSystemOption (
|
{ pkgs, ... }:
|
||||||
{ config, pkgs, ... }:
|
{
|
||||||
{
|
config = {
|
||||||
config = {
|
devshells.default = {
|
||||||
devshells.default = {
|
commands = [
|
||||||
commands = [
|
{
|
||||||
{
|
help = " generate age key";
|
||||||
help = " generate age key";
|
name = "age-generate-key";
|
||||||
name = "age-generate-key";
|
command = "${pkgs.uutils-coreutils-noprefix}/bin/mkdir -p ~/.config/sops/age && ${pkgs.age}/bin/age-keygen -o ~/.config/sops/age/keys.txt && ${pkgs.uutils-coreutils-noprefix}/bin/cat ~/.config/sops/age/keys.txt";
|
||||||
command = "${pkgs.uutils-coreutils-noprefix}/bin/mkdir -p ~/.config/sops/age && ${pkgs.age}/bin/age-keygen -o ~/.config/sops/age/keys.txt && ${pkgs.uutils-coreutils-noprefix}/bin/cat ~/.config/sops/age/keys.txt";
|
category = " SOPS";
|
||||||
category = " SOPS";
|
}
|
||||||
}
|
{
|
||||||
{
|
help = " edit secrets.yaml";
|
||||||
help = " edit secrets.yaml";
|
name = "sops-edit";
|
||||||
name = "sops-edit";
|
command = "${pkgs.sops}/bin/sops edit ./sops/secrets.yaml";
|
||||||
command = "${pkgs.sops}/bin/sops edit ./sops/secrets.yaml";
|
category = " SOPS";
|
||||||
category = " SOPS";
|
}
|
||||||
}
|
];
|
||||||
];
|
packages = [
|
||||||
packages = [
|
pkgs.age
|
||||||
pkgs.age
|
pkgs.sops
|
||||||
pkgs.sops
|
];
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
);
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue