Compare commits
65 commits
push-wqmxo
...
main
Author | SHA1 | Date | |
---|---|---|---|
05ae7a0bb7 | |||
2e6cf53aa6 | |||
8d74932b33 | |||
8c95392393 | |||
8e0457c394 | |||
66aebcb503 | |||
efdc8e6210 | |||
322a50c98f | |||
c8ed3e3928 | |||
46e52d96ff | |||
549a355e96 | |||
67820bb649 | |||
3193c3a1ea | |||
701a3dccf7 | |||
330497a847 | |||
ef5320c70e | |||
e71ab67615 | |||
52ce2a852a | |||
176fcae9c3 | |||
ecc37b8fc3 | |||
165c403072 | |||
46ba379d08 | |||
5358188ad1 | |||
816cfdd2af | |||
e853dd6656 | |||
fc30d21254 | |||
4e058fb70f | |||
bedbf4a032 | |||
b4f5928663 | |||
a51e2f7639 | |||
ede2d5b3b6 | |||
50cee1ee25 | |||
d7979bf77d | |||
f19ed998ea | |||
9702f229c2 | |||
6602d3eb44 | |||
92feab7ac3 | |||
aca8824538 | |||
4c94fbec75 | |||
9e34ff7ee3 | |||
09dc56a284 | |||
c479091056 | |||
40e478c293 | |||
486ae7713e | |||
7f4750c0fa | |||
c7573d910b | |||
0fe0d5634b | |||
5b64694114 | |||
bf6ad2ce28 | |||
addf6e9e6a | |||
cc66a85f7e | |||
68643b889c | |||
e535c1d197 | |||
fc595853e6 | |||
40968edd0d | |||
93eaa6d9f6 | |||
7353f2ff23 | |||
3c8d299f22 | |||
12675acc21 | |||
7ff376d0f3 | |||
b489a09085 | |||
57b7e9f151 | |||
e8299f98b0 | |||
b51df570e1 | |||
7b93918ac0 |
29 changed files with 776 additions and 834 deletions
.envrc
example-vm
flake-modules
flake.lockflake.nixjustfilemodules
scripts
1
.envrc
1
.envrc
|
@ -7,4 +7,5 @@ elif has git; then
|
||||||
git fetch
|
git fetch
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
watch_file ./flake.{nix,lock} ./flake-modules/{default,devshells,overlays,nixvim-modules}.nix
|
||||||
use flake
|
use flake
|
||||||
|
|
|
@ -31,4 +31,6 @@
|
||||||
# Before changing this value read the documentation for this option
|
# Before changing this value read the documentation for this option
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = "24.11"; # Did you read the comment?
|
system.stateVersion = "24.11"; # Did you read the comment?
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = "x86_64-linux";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
{ inputs, ... }:
|
{ inputs, ... }:
|
||||||
let
|
|
||||||
overlays = builtins.attrValues inputs.self.overlays;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
inputs.treefmt-nix.flakeModule
|
inputs.treefmt-nix.flakeModule
|
||||||
|
@ -13,14 +10,12 @@ in
|
||||||
./home-modules.nix
|
./home-modules.nix
|
||||||
./nixvim-modules.nix
|
./nixvim-modules.nix
|
||||||
./overlays.nix
|
./overlays.nix
|
||||||
./scripts.nix
|
../scripts
|
||||||
];
|
];
|
||||||
|
|
||||||
perSystem =
|
perSystem =
|
||||||
{ system, ... }:
|
{ system, ... }:
|
||||||
{
|
{
|
||||||
_module.args.pkgs = import inputs.nixpkgs { inherit system overlays; };
|
|
||||||
|
|
||||||
# Setup formatters
|
# Setup formatters
|
||||||
treefmt = {
|
treefmt = {
|
||||||
projectRootFile = "flake.nix";
|
projectRootFile = "flake.nix";
|
||||||
|
|
|
@ -1,19 +1,18 @@
|
||||||
{ inputs, lib, ... }:
|
{ inputs, lib, ... }:
|
||||||
let
|
|
||||||
system = "x86_64-linux";
|
|
||||||
overlays = builtins.attrValues inputs.self.overlays;
|
|
||||||
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "steam-unwrapped" ];
|
|
||||||
pkgs = import inputs.nixpkgs { inherit system overlays config; };
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
# Example vm configuration
|
# Example vm configuration
|
||||||
flake.nixosConfigurations.vm = lib.nixosSystem {
|
flake.nixosConfigurations.vm = lib.nixosSystem {
|
||||||
inherit pkgs;
|
|
||||||
modules = [
|
modules = [
|
||||||
inputs.self.nixosModules.default
|
inputs.self.nixosModules.default
|
||||||
../example-vm # import vm configuration
|
../example-vm # import vm configuration
|
||||||
{ nix.registry.nixpkgs.flake = inputs.nixpkgs; } # pin nixpkgs to the one used by the system
|
{
|
||||||
|
nixpkgs = {
|
||||||
|
overlays = builtins.attrValues inputs.self.overlays;
|
||||||
|
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "steam-unwrapped" ];
|
||||||
|
};
|
||||||
|
# pin nixpkgs to the one used by the system
|
||||||
|
nix.registry.nixpkgs.flake = inputs.nixpkgs;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,8 @@
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [
|
modules = [
|
||||||
self.nixvimModules.standalone
|
self.nixvimModules.standalone
|
||||||
{ performance.combinePlugins.enable = true; }
|
# FIXME: borked due to https://github.com/nix-community/nixvim/issues/3140
|
||||||
|
# { performance.combinePlugins.enable = true; }
|
||||||
extraConfig
|
extraConfig
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
let
|
|
||||||
scripts = import ../scripts;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
# Add scripts to overlay
|
|
||||||
flake.overlays.scripts = final: prev: scripts final;
|
|
||||||
|
|
||||||
# Add scripts to packages
|
|
||||||
perSystem =
|
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
packages = scripts pkgs;
|
|
||||||
};
|
|
||||||
}
|
|
98
flake.lock
generated
98
flake.lock
generated
|
@ -5,11 +5,11 @@
|
||||||
"fromYaml": "fromYaml"
|
"fromYaml": "fromYaml"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732200724,
|
"lastModified": 1745523430,
|
||||||
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
|
"narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=",
|
||||||
"owner": "SenchoPens",
|
"owner": "SenchoPens",
|
||||||
"repo": "base16.nix",
|
"repo": "base16.nix",
|
||||||
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
|
"rev": "58bfe2553d937d8af0564f79d5b950afbef69717",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -70,11 +70,11 @@
|
||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741628778,
|
"lastModified": 1743774811,
|
||||||
"narHash": "sha256-RsvHGNTmO2e/eVfgYK7g+eYEdwwh7SbZa+gZkT24MEA=",
|
"narHash": "sha256-oiHLDHXq7ymsMVYSg92dD1OLnKLQoU/Gf2F1GoONLCE=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "5a81d390bb64afd4e81221749ec4bffcbeb5fa80",
|
"rev": "df53a7a31872faf5ca53dd0730038a62ec63ca9e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -90,11 +90,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741352980,
|
"lastModified": 1743550720,
|
||||||
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
|
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
|
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -167,11 +167,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741379162,
|
"lastModified": 1742649964,
|
||||||
"narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=",
|
"narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc",
|
"rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -226,11 +226,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742655702,
|
"lastModified": 1746171682,
|
||||||
"narHash": "sha256-jbqlw4sPArFtNtA1s3kLg7/A4fzP4GLk9bGbtUJg0JQ=",
|
"narHash": "sha256-EyXUNSa+H+YvGVuQJP1nZskXAowxKYp79RNUsNdQTj4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "0948aeedc296f964140d9429223c7e4a0702a1ff",
|
"rev": "50eee705bbdbac942074a8c120e8194185633675",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -252,16 +252,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729958008,
|
"lastModified": 1737371634,
|
||||||
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
|
"narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=",
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"repo": "ixx",
|
"repo": "ixx",
|
||||||
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
|
"rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"ref": "v0.0.6",
|
"ref": "v0.0.7",
|
||||||
"repo": "ixx",
|
"repo": "ixx",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -270,14 +270,14 @@
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737234286,
|
"lastModified": 1737234286,
|
||||||
"narHash": "sha256-CCKIAE84dzkrnlxJCKFyffAxP3yfsOAbdvydUGqq24g=",
|
"narHash": "sha256-pgDJZjj4jpzkFxsqBTI/9Yb0n3gW+DvDtuv9SwQZZcs=",
|
||||||
"rev": "2837da71ec1588c1187d2e554719b15904a46c8b",
|
"rev": "079528098f5998ba13c88821a2eca1005c1695de",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/2837da71ec1588c1187d2e554719b15904a46c8b.tar.gz?rev=2837da71ec1588c1187d2e554719b15904a46c8b"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/079528098f5998ba13c88821a2eca1005c1695de.tar.gz?rev=079528098f5998ba13c88821a2eca1005c1695de"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.92.0.tar.gz"
|
"url": "https://git.lix.systems/lix-project/lix/archive/release-2.92.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lix-module": {
|
"lix-module": {
|
||||||
|
@ -290,24 +290,24 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737237494,
|
"lastModified": 1742943028,
|
||||||
"narHash": "sha256-YMLrcBpf0TR5r/eaqm8lxzFPap2TxCor0ZGcK3a7+b8=",
|
"narHash": "sha256-fprwZKE1uMzO9tiWWOrmLWBW3GPkMayQfb0xOvVFIno=",
|
||||||
"rev": "b90bf629bbd835e61f1317b99e12f8c831017006",
|
"rev": "3fae818597ca2f1474de62022f850c23be50528d",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/b90bf629bbd835e61f1317b99e12f8c831017006.tar.gz?rev=b90bf629bbd835e61f1317b99e12f8c831017006"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/3fae818597ca2f1474de62022f850c23be50528d.tar.gz?rev=3fae818597ca2f1474de62022f850c23be50528d"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz"
|
"url": "https://git.lix.systems/lix-project/nixos-module/archive/release-2.92.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742751704,
|
"lastModified": 1746183838,
|
||||||
"narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=",
|
"narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092",
|
"rev": "bf3287dac860542719fe7554e21e686108716879",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -319,11 +319,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742800061,
|
"lastModified": 1746152631,
|
||||||
"narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=",
|
"narHash": "sha256-zBuvmL6+CUsk2J8GINpyy8Hs1Zp4PP6iBWSmZ4SCQ/s=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734",
|
"rev": "032bc6539bd5f14e9d0c51bd79cfe9a055b094c3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -342,11 +342,11 @@
|
||||||
"nuschtosSearch": []
|
"nuschtosSearch": []
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742991302,
|
"lastModified": 1746221140,
|
||||||
"narHash": "sha256-5S+qnc5ijgFWlAWS9+L7uAgpDnL0RtVEDhVpHWGoavA=",
|
"narHash": "sha256-lXFXddrfTY47kF3IGmUQHgJssvGnYY5T4luL+1UmCkc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "1c0dd320d9c4f250ac33382e11d370b7abe97622",
|
"rev": "4b27678512c4b8a3c16676fd6d5d885f2fb84cb3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -367,11 +367,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742659553,
|
"lastModified": 1745046075,
|
||||||
"narHash": "sha256-i/JCrr/jApVorI9GkSV5to+USrRCa0rWuQDH8JSlK2A=",
|
"narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=",
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"repo": "search",
|
"repo": "search",
|
||||||
"rev": "508752835128a3977985a4d5225ff241f7756181",
|
"rev": "066afe8643274470f4a294442aadd988356a478f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -425,11 +425,11 @@
|
||||||
"tinted-tmux": "tinted-tmux"
|
"tinted-tmux": "tinted-tmux"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741961698,
|
"lastModified": 1746143246,
|
||||||
"narHash": "sha256-utsgC6H3ja6sLAXMd8//I2D7yjyScFqVDRX0wpbqPZo=",
|
"narHash": "sha256-O8rZjqJUIkUva66XTOZy0wcgfBP2eaxU9+Xt7ZHtfhI=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "9bfc74f330ead111e8ea354b2220a431b0cfaa26",
|
"rev": "20ace60f9cb5e179cb2256abaee505780df8e804",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -491,11 +491,11 @@
|
||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1740877430,
|
"lastModified": 1743296873,
|
||||||
"narHash": "sha256-zWcCXgdC4/owfH/eEXx26y5BLzTrefjtSLFHWVD5KxU=",
|
"narHash": "sha256-8IQulrb1OBSxMwdKijO9fB70ON//V32dpK9Uioy7FzY=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "d48ee86394cbe45b112ba23ab63e33656090edb4",
|
"rev": "af5152c8d7546dfb4ff6df94080bf5ff54f64e3a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -511,11 +511,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742982148,
|
"lastModified": 1746216483,
|
||||||
"narHash": "sha256-aRA6LSxjlbMI6MmMzi/M5WH/ynd8pK+vACD9za3MKLQ=",
|
"narHash": "sha256-4h3s1L/kKqt3gMDcVfN8/4v2jqHrgLIe4qok4ApH5x4=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "61c88349bf6dff49fa52d7dfc39b21026c2a8881",
|
"rev": "29ec5026372e0dec56f890e50dbe4f45930320fd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
unstable.follows = "nixvim/nixpkgs";
|
unstable.follows = "nixvim/nixpkgs";
|
||||||
# Lix
|
# Lix
|
||||||
lix-module = {
|
lix-module = {
|
||||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz";
|
url = "https://git.lix.systems/lix-project/nixos-module/archive/release-2.92.tar.gz";
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.follows = "nixpkgs";
|
nixpkgs.follows = "nixpkgs";
|
||||||
flake-utils.inputs.systems.follows = "systems";
|
flake-utils.inputs.systems.follows = "systems";
|
||||||
|
|
4
justfile
4
justfile
|
@ -3,10 +3,10 @@ default:
|
||||||
|
|
||||||
# Update a specific flake input
|
# Update a specific flake input
|
||||||
update input:
|
update input:
|
||||||
nix flake lock --update-input {{input}} --commit-lock-file
|
nix flake lock --update-input "{{input}}" --commit-lock-file
|
||||||
|
|
||||||
build-vm:
|
build-vm:
|
||||||
nixos-rebuild build-vm --flake .#vm --print-build-logs
|
nixos-rebuild build-vm --fallback --flake .#vm --print-build-logs
|
||||||
|
|
||||||
run-vm: build-vm
|
run-vm: build-vm
|
||||||
QEMU_OPTS="$QEMU_OPTS_WL" result/bin/run-nixos-vm
|
QEMU_OPTS="$QEMU_OPTS_WL" result/bin/run-nixos-vm
|
||||||
|
|
|
@ -59,6 +59,7 @@ in
|
||||||
icons = "auto";
|
icons = "auto";
|
||||||
};
|
};
|
||||||
# Shell
|
# Shell
|
||||||
|
bash.enable = true; # ensure HM variables are passed to `bash` too (otherwise `jpassmenu` doesn't work)
|
||||||
fish = {
|
fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
preferAbbrs = true; # when defining an alias, prefer instead to define an abbreviation
|
preferAbbrs = true; # when defining an alias, prefer instead to define an abbreviation
|
||||||
|
|
|
@ -17,17 +17,6 @@ in
|
||||||
[
|
[
|
||||||
(lib.mkIf cfg.rust.enable {
|
(lib.mkIf cfg.rust.enable {
|
||||||
home.packages = [ pkgs.rustup ] ++ cfg.rust.extraPackages;
|
home.packages = [ pkgs.rustup ] ++ cfg.rust.extraPackages;
|
||||||
# Background code checker (for Rust)
|
|
||||||
programs.bacon = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
export = {
|
|
||||||
enabled = true;
|
|
||||||
path = ".bacon-locations";
|
|
||||||
line_format = "{kind} {path}:{line}:{column} {message}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
})
|
})
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
|
@ -83,13 +72,14 @@ in
|
||||||
templates.draft_commit_description = ''
|
templates.draft_commit_description = ''
|
||||||
concat(
|
concat(
|
||||||
description,
|
description,
|
||||||
|
"\n",
|
||||||
surround(
|
surround(
|
||||||
"\nJJ: This commit contains the following changes:\n", "",
|
"\nJJ: This commit contains the following changes:\n", "",
|
||||||
indent("JJ: ", diff.stat(72)),
|
indent("JJ: ", diff.summary()),
|
||||||
),
|
),
|
||||||
surround(
|
surround(
|
||||||
"\nJJ: Diff:\n", "",
|
"JJ: ignore-rest\n", "",
|
||||||
indent("JJ: ", diff.git()),
|
diff.git(),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -21,6 +21,11 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./sway.nix
|
||||||
|
./waybar.nix
|
||||||
|
];
|
||||||
|
|
||||||
config = lib.mkIf (jhome.enable && cfg.enable) {
|
config = lib.mkIf (jhome.enable && cfg.enable) {
|
||||||
home.packages =
|
home.packages =
|
||||||
(with pkgs; [
|
(with pkgs; [
|
||||||
|
@ -73,30 +78,6 @@ in
|
||||||
};
|
};
|
||||||
# Text editor
|
# Text editor
|
||||||
nixvim.clipboard.providers.wl-copy.enable = lib.mkDefault true;
|
nixvim.clipboard.providers.wl-copy.enable = lib.mkDefault true;
|
||||||
# Status bar
|
|
||||||
waybar = {
|
|
||||||
enable = true;
|
|
||||||
systemd.enable = true;
|
|
||||||
settings = lib.mkIf config.jhome.styling.enable (
|
|
||||||
import ./waybar-settings.nix { inherit config lib; }
|
|
||||||
);
|
|
||||||
# Style overrides to highlight workspaces with windows
|
|
||||||
style =
|
|
||||||
lib.pipe
|
|
||||||
# css
|
|
||||||
''
|
|
||||||
.modules-left #workspaces button {
|
|
||||||
border-bottom: 3px solid @base01;
|
|
||||||
}
|
|
||||||
.modules-left #workspaces button.persistent {
|
|
||||||
border-bottom: 3px solid transparent;
|
|
||||||
}
|
|
||||||
''
|
|
||||||
[
|
|
||||||
(lib.optionalString config.jhome.styling.enable)
|
|
||||||
lib.mkAfter
|
|
||||||
];
|
|
||||||
};
|
|
||||||
# Terminal
|
# Terminal
|
||||||
wezterm = {
|
wezterm = {
|
||||||
enable = cfg.terminal == "wezterm";
|
enable = cfg.terminal == "wezterm";
|
||||||
|
@ -125,7 +106,17 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
zellij.enable = cfg.terminal == "alacritty"; # alacritty has no terminal multiplexer built-in
|
zellij = {
|
||||||
|
enable = cfg.terminal == "alacritty"; # alacritty has no terminal multiplexer built-in
|
||||||
|
# Set default shell
|
||||||
|
settings.default_shell =
|
||||||
|
if config.programs.fish.enable then
|
||||||
|
"fish"
|
||||||
|
else if config.programs.zsh.enable then
|
||||||
|
"zsh"
|
||||||
|
else
|
||||||
|
"bash";
|
||||||
|
};
|
||||||
# PDF reader
|
# PDF reader
|
||||||
zathura.enable = true;
|
zathura.enable = true;
|
||||||
# Auto start sway
|
# Auto start sway
|
||||||
|
@ -163,17 +154,6 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Window Manager
|
|
||||||
wayland.windowManager.sway = {
|
|
||||||
inherit (cfg.sway) enable;
|
|
||||||
package = swayPkg; # no sway package if it comes from the OS
|
|
||||||
config = import ./sway-config.nix { inherit config pkgs; };
|
|
||||||
systemd = {
|
|
||||||
enable = true;
|
|
||||||
xdgAutostart = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Set cursor style
|
# Set cursor style
|
||||||
stylix = lib.mkIf config.jhome.styling.enable { inherit cursor; };
|
stylix = lib.mkIf config.jhome.styling.enable { inherit cursor; };
|
||||||
home.pointerCursor = lib.mkIf config.jhome.styling.enable (
|
home.pointerCursor = lib.mkIf config.jhome.styling.enable (
|
||||||
|
|
|
@ -1,118 +0,0 @@
|
||||||
{ pkgs, config }:
|
|
||||||
let
|
|
||||||
cfg = config.jhome.gui.sway;
|
|
||||||
passmenu = "${pkgs.jpassmenu}/bin/jpassmenu";
|
|
||||||
selectAudio = "${pkgs.audiomenu}/bin/audiomenu";
|
|
||||||
swayconf = config.wayland.windowManager.sway.config;
|
|
||||||
mod = swayconf.modifier;
|
|
||||||
workspaces = map toString [
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
];
|
|
||||||
dirs =
|
|
||||||
map
|
|
||||||
(dir: {
|
|
||||||
key = swayconf.${dir};
|
|
||||||
arrow = dir;
|
|
||||||
direction = dir;
|
|
||||||
})
|
|
||||||
[
|
|
||||||
"up"
|
|
||||||
"down"
|
|
||||||
"left"
|
|
||||||
"right"
|
|
||||||
];
|
|
||||||
joinKeys = builtins.concatStringsSep "+";
|
|
||||||
# Generate a keybind from a modifier prefix and a key
|
|
||||||
keycombo = prefix: key: joinKeys (prefix ++ [ key ]);
|
|
||||||
modKeybind = keycombo [ mod ];
|
|
||||||
modCtrlKeybind = keycombo [
|
|
||||||
mod
|
|
||||||
"Ctrl"
|
|
||||||
];
|
|
||||||
modShiftKeybind = keycombo [
|
|
||||||
mod
|
|
||||||
"Shift"
|
|
||||||
];
|
|
||||||
modCtrlShiftKeybind = keycombo [
|
|
||||||
mod
|
|
||||||
"Ctrl"
|
|
||||||
"Shift"
|
|
||||||
];
|
|
||||||
dir2resize.up = "resize grow height";
|
|
||||||
dir2resize.down = "resize shrink height";
|
|
||||||
dir2resize.right = "resize grow width";
|
|
||||||
dir2resize.left = "resize shrink width";
|
|
||||||
# Bind a key combo to an action
|
|
||||||
genKeybind = prefix: action: key: { "${prefix key}" = "${action key}"; };
|
|
||||||
genKey =
|
|
||||||
prefix: action: genKeybind ({ key, ... }: prefix key) ({ direction, ... }: action direction);
|
|
||||||
genArrow =
|
|
||||||
prefix: action: genKeybind ({ arrow, ... }: prefix arrow) ({ direction, ... }: action direction);
|
|
||||||
genArrowAndKey =
|
|
||||||
prefix: action: key:
|
|
||||||
(genKey prefix action key) // (genArrow prefix action key);
|
|
||||||
# Move window
|
|
||||||
moveWindowKeybinds = map (genArrowAndKey modShiftKeybind (dir: "move ${dir}")) dirs;
|
|
||||||
# Focus window
|
|
||||||
focusWindowKeybinds = map (genArrowAndKey modKeybind (dir: "focus ${dir}")) dirs;
|
|
||||||
# Resize window
|
|
||||||
resizeWindowKeybinds = map (genArrowAndKey modCtrlKeybind (dir: dir2resize.${dir})) dirs;
|
|
||||||
# Move container to workspace
|
|
||||||
moveWorkspaceKeybindings = map (genKeybind modShiftKeybind (
|
|
||||||
number: "move container to workspace number ${number}"
|
|
||||||
)) workspaces;
|
|
||||||
# Focus workspace
|
|
||||||
focusWorkspaceKeybindings = map (genKeybind modKeybind (
|
|
||||||
number: "workspace number ${number}"
|
|
||||||
)) workspaces;
|
|
||||||
# Move container to Workspace and focus on it
|
|
||||||
moveFocusWorkspaceKeybindings = map (genKeybind modCtrlShiftKeybind (
|
|
||||||
number: "move container to workspace number ${number}; workspace number ${number}"
|
|
||||||
)) workspaces;
|
|
||||||
in
|
|
||||||
builtins.foldl' (l: r: l // r)
|
|
||||||
{
|
|
||||||
"${mod}+Return" = "exec ${swayconf.terminal}";
|
|
||||||
"${mod}+D" = "exec ${swayconf.menu}";
|
|
||||||
"${mod}+P" = "exec ${passmenu}";
|
|
||||||
"${mod}+Shift+P" = "exec ${passmenu} --type";
|
|
||||||
"${mod}+F2" = "exec qutebrowser";
|
|
||||||
"${mod}+Shift+Q" = "kill";
|
|
||||||
"${mod}+F" = "fullscreen toggle";
|
|
||||||
# Media Controls
|
|
||||||
"${mod}+F10" = "exec ${selectAudio} select-sink";
|
|
||||||
"${mod}+Shift+F10" = "exec ${selectAudio} select-source";
|
|
||||||
"XF86AudioRaiseVolume" = "exec ${pkgs.avizo}/bin/volumectl up";
|
|
||||||
"XF86AudioLowerVolume" = "exec ${pkgs.avizo}/bin/volumectl down";
|
|
||||||
"XF86AudioMute" = "exec ${pkgs.avizo}/bin/volumectl toggle-mute";
|
|
||||||
"XF86ScreenSaver" = "exec ${pkgs.swaylock}/bin/swaylock --image ${cfg.background}";
|
|
||||||
"XF86MonBrightnessUp" = "exec ${pkgs.avizo}/bin/lightctl up";
|
|
||||||
"XF86MonBrightnessDown" = "exec ${pkgs.avizo}/bin/lightctl down";
|
|
||||||
# Floating
|
|
||||||
"${mod}+Space" = "floating toggle";
|
|
||||||
"${mod}+Shift+Space" = "focus mode_toggle";
|
|
||||||
# Scratchpad
|
|
||||||
"${mod}+Minus" = "scratchpad show";
|
|
||||||
"${mod}+Shift+Minus" = "move scratchpad";
|
|
||||||
# Layout
|
|
||||||
"${mod}+e" = "layout toggle split";
|
|
||||||
# Session control
|
|
||||||
"${mod}+r" = "reload";
|
|
||||||
"${mod}+Shift+m" = "exit";
|
|
||||||
}
|
|
||||||
(
|
|
||||||
focusWindowKeybinds
|
|
||||||
++ moveWindowKeybinds
|
|
||||||
++ resizeWindowKeybinds
|
|
||||||
++ focusWorkspaceKeybindings
|
|
||||||
++ moveWorkspaceKeybindings
|
|
||||||
++ moveFocusWorkspaceKeybindings
|
|
||||||
)
|
|
|
@ -1,101 +0,0 @@
|
||||||
{ config, pkgs }:
|
|
||||||
let
|
|
||||||
cfg = config.jhome.gui.sway;
|
|
||||||
modifier = "Mod4";
|
|
||||||
inherit (config.jhome.gui) terminal;
|
|
||||||
termCmd =
|
|
||||||
if terminal == "wezterm" then
|
|
||||||
"wezterm start"
|
|
||||||
else if terminal == "alacritty" then
|
|
||||||
"alacritty -e"
|
|
||||||
else
|
|
||||||
builtins.abort "no command configured for ${terminal}";
|
|
||||||
menu = "${pkgs.fuzzel}/bin/fuzzel --terminal '${termCmd}'";
|
|
||||||
# currently, there is some friction between sway and gtk:
|
|
||||||
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
|
|
||||||
# the suggested way to set gtk settings is with gsettings
|
|
||||||
# for gsettings to work, we need to tell it where the schemas are
|
|
||||||
# using the XDG_DATA_DIR environment variable
|
|
||||||
# run at the end of sway config
|
|
||||||
configure-gtk =
|
|
||||||
let
|
|
||||||
schema = pkgs.gsettings-desktop-schemas;
|
|
||||||
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
|
|
||||||
in
|
|
||||||
pkgs.writers.writeDashBin "configure-gtk" ''
|
|
||||||
export XDG_DATA_DIRS="${datadir}:$XDG_DATA_DIRS"
|
|
||||||
|
|
||||||
gnome_schema=org.gnome.desktop.interface
|
|
||||||
config="${config.xdg.configHome}/gtk-3.0/settings.ini"
|
|
||||||
if [ ! -f "$config" ]; then exit 1; fi
|
|
||||||
# Read settings from gtk3
|
|
||||||
gtk_theme="$(${pkgs.gnugrep}/bin/grep 'gtk-theme-name' "$config" | ${pkgs.gnused}/bin/sed 's/.*\s*=\s*//')"
|
|
||||||
icon_theme="$(${pkgs.gnugrep}/bin/grep 'gtk-icon-theme-name' "$config" | ${pkgs.gnused}/bin/sed 's/.*\s*=\s*//')"
|
|
||||||
cursor_theme="$(${pkgs.gnugrep}/bin/grep 'gtk-cursor-theme-name' "$config" | ${pkgs.gnused}/bin/sed 's/.*\s*=\s*//')"
|
|
||||||
font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')"
|
|
||||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
|
|
||||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" icon-theme "$icon_theme"
|
|
||||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
|
|
||||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
|
|
||||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" color-scheme prefer-dark
|
|
||||||
'';
|
|
||||||
cmdOnce = command: { inherit command; };
|
|
||||||
cmdAlways = command: {
|
|
||||||
inherit command;
|
|
||||||
always = true;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
inherit modifier terminal menu;
|
|
||||||
keybindings = import ./keybindings.nix { inherit config pkgs; };
|
|
||||||
# Appearance
|
|
||||||
bars = [ ]; # Waybar is started as a systemd service
|
|
||||||
gaps = {
|
|
||||||
smartGaps = true;
|
|
||||||
smartBorders = "on";
|
|
||||||
inner = 4;
|
|
||||||
};
|
|
||||||
output."*".bg = "${cfg.background} fill";
|
|
||||||
# Window Appearance
|
|
||||||
window = {
|
|
||||||
border = 2;
|
|
||||||
titlebar = false;
|
|
||||||
# Make certain windows floating
|
|
||||||
commands = [
|
|
||||||
{
|
|
||||||
command = "floating enable";
|
|
||||||
criteria.title = "zoom";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable";
|
|
||||||
criteria.class = "floating";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable";
|
|
||||||
criteria.app_id = "floating";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
# Startup scripts
|
|
||||||
startup =
|
|
||||||
[
|
|
||||||
(cmdAlways "${configure-gtk}/bin/configure-gtk")
|
|
||||||
]
|
|
||||||
++ (builtins.map cmdAlways cfg.exec.always)
|
|
||||||
++ (builtins.map cmdOnce cfg.exec.once);
|
|
||||||
# Keyboard configuration
|
|
||||||
input."type:keyboard" = {
|
|
||||||
repeat_delay = "300";
|
|
||||||
repeat_rate = "50";
|
|
||||||
xkb_options = "caps:swapescape,compose:ralt";
|
|
||||||
xkb_numlock = "enabled";
|
|
||||||
};
|
|
||||||
# Touchpad
|
|
||||||
input."type:touchpad" = {
|
|
||||||
click_method = "clickfinger";
|
|
||||||
natural_scroll = "enabled";
|
|
||||||
scroll_method = "two_finger";
|
|
||||||
tap = "enabled";
|
|
||||||
tap_button_map = "lrm";
|
|
||||||
};
|
|
||||||
}
|
|
226
modules/hm/gui/sway.nix
Normal file
226
modules/hm/gui/sway.nix
Normal file
|
@ -0,0 +1,226 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.jhome.gui.sway;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = lib.mkIf (config.jhome.enable && config.jhome.gui.enable && cfg.enable) {
|
||||||
|
# Window Manager
|
||||||
|
wayland.windowManager.sway = {
|
||||||
|
inherit (cfg) enable;
|
||||||
|
config =
|
||||||
|
let
|
||||||
|
inherit (config.jhome.gui) terminal;
|
||||||
|
termCmd =
|
||||||
|
if terminal == "wezterm" then
|
||||||
|
"wezterm start"
|
||||||
|
else if terminal == "alacritty" then
|
||||||
|
"alacritty -e"
|
||||||
|
else
|
||||||
|
builtins.abort "no command configured for ${terminal}";
|
||||||
|
menu = "${pkgs.fuzzel}/bin/fuzzel --terminal '${termCmd}'";
|
||||||
|
cmdOnce = command: { inherit command; };
|
||||||
|
cmdAlways = command: {
|
||||||
|
inherit command;
|
||||||
|
always = true;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
modifier = "Mod4";
|
||||||
|
inherit terminal menu;
|
||||||
|
# Appearance
|
||||||
|
bars = [ ]; # Waybar is started as a systemd service
|
||||||
|
gaps = {
|
||||||
|
smartGaps = true;
|
||||||
|
smartBorders = "on";
|
||||||
|
inner = 4;
|
||||||
|
};
|
||||||
|
output."*".bg = "${cfg.background} fill";
|
||||||
|
# Window Appearance
|
||||||
|
window = {
|
||||||
|
border = 2;
|
||||||
|
titlebar = false;
|
||||||
|
# Make certain windows floating
|
||||||
|
commands = [
|
||||||
|
{
|
||||||
|
command = "floating enable";
|
||||||
|
criteria.title = "zoom";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable";
|
||||||
|
criteria.class = "floating";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable";
|
||||||
|
criteria.app_id = "floating";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
# Startup scripts
|
||||||
|
startup =
|
||||||
|
let
|
||||||
|
# currently, there is some friction between sway and gtk:
|
||||||
|
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
|
||||||
|
# the suggested way to set gtk settings is with gsettings
|
||||||
|
# for gsettings to work, we need to tell it where the schemas are
|
||||||
|
# using the XDG_DATA_DIR environment variable
|
||||||
|
# run at the end of sway config
|
||||||
|
schema = pkgs.gsettings-desktop-schemas;
|
||||||
|
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
|
||||||
|
in
|
||||||
|
[
|
||||||
|
(cmdAlways "${pkgs.writers.writeDash "configure-gtk" ''
|
||||||
|
export XDG_DATA_DIRS="${datadir}:$XDG_DATA_DIRS"
|
||||||
|
|
||||||
|
gnome_schema=org.gnome.desktop.interface
|
||||||
|
config="${config.xdg.configHome}/gtk-3.0/settings.ini"
|
||||||
|
if [ ! -f "$config" ]; then exit 1; fi
|
||||||
|
# Read settings from gtk3
|
||||||
|
gtk_theme="$(${pkgs.gnugrep}/bin/grep 'gtk-theme-name' "$config" | ${pkgs.gnused}/bin/sed 's/.*\s*=\s*//')"
|
||||||
|
icon_theme="$(${pkgs.gnugrep}/bin/grep 'gtk-icon-theme-name' "$config" | ${pkgs.gnused}/bin/sed 's/.*\s*=\s*//')"
|
||||||
|
cursor_theme="$(${pkgs.gnugrep}/bin/grep 'gtk-cursor-theme-name' "$config" | ${pkgs.gnused}/bin/sed 's/.*\s*=\s*//')"
|
||||||
|
font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||||
|
${pkgs.glib}/bin/gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
|
||||||
|
${pkgs.glib}/bin/gsettings set "$gnome_schema" icon-theme "$icon_theme"
|
||||||
|
${pkgs.glib}/bin/gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
|
||||||
|
${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
|
||||||
|
${pkgs.glib}/bin/gsettings set "$gnome_schema" color-scheme prefer-dark
|
||||||
|
''}")
|
||||||
|
]
|
||||||
|
++ (builtins.map cmdAlways cfg.exec.always)
|
||||||
|
++ (builtins.map cmdOnce cfg.exec.once);
|
||||||
|
# Keyboard configuration
|
||||||
|
input."type:keyboard" = {
|
||||||
|
repeat_delay = "300";
|
||||||
|
repeat_rate = "50";
|
||||||
|
xkb_options = "caps:swapescape,compose:ralt";
|
||||||
|
xkb_numlock = "enabled";
|
||||||
|
};
|
||||||
|
# Touchpad
|
||||||
|
input."type:touchpad" = {
|
||||||
|
click_method = "clickfinger";
|
||||||
|
natural_scroll = "enabled";
|
||||||
|
scroll_method = "two_finger";
|
||||||
|
tap = "enabled";
|
||||||
|
tap_button_map = "lrm";
|
||||||
|
};
|
||||||
|
# Keybinds
|
||||||
|
keybindings =
|
||||||
|
let
|
||||||
|
passmenu = "${pkgs.jpassmenu}/bin/jpassmenu";
|
||||||
|
selectAudio = "${pkgs.audiomenu}/bin/audiomenu";
|
||||||
|
swayconf = config.wayland.windowManager.sway.config;
|
||||||
|
mod = swayconf.modifier;
|
||||||
|
workspaces = map toString (lib.lists.range 1 9);
|
||||||
|
dirs =
|
||||||
|
map
|
||||||
|
(dir: {
|
||||||
|
key = swayconf.${dir};
|
||||||
|
arrow = dir;
|
||||||
|
direction = dir;
|
||||||
|
})
|
||||||
|
[
|
||||||
|
"up"
|
||||||
|
"down"
|
||||||
|
"left"
|
||||||
|
"right"
|
||||||
|
];
|
||||||
|
joinKeys = builtins.concatStringsSep "+";
|
||||||
|
# Generate a keybind from a modifier prefix and a key
|
||||||
|
keycombo = prefix: key: joinKeys (prefix ++ [ key ]);
|
||||||
|
modKeybind = keycombo [ mod ];
|
||||||
|
modCtrlKeybind = keycombo [
|
||||||
|
mod
|
||||||
|
"Ctrl"
|
||||||
|
];
|
||||||
|
modShiftKeybind = keycombo [
|
||||||
|
mod
|
||||||
|
"Shift"
|
||||||
|
];
|
||||||
|
modCtrlShiftKeybind = keycombo [
|
||||||
|
mod
|
||||||
|
"Ctrl"
|
||||||
|
"Shift"
|
||||||
|
];
|
||||||
|
dir2resize.up = "resize grow height";
|
||||||
|
dir2resize.down = "resize shrink height";
|
||||||
|
dir2resize.right = "resize grow width";
|
||||||
|
dir2resize.left = "resize shrink width";
|
||||||
|
# Bind a key combo to an action
|
||||||
|
genKeybind = prefix: action: key: { "${prefix key}" = "${action key}"; };
|
||||||
|
genKey =
|
||||||
|
prefix: action: genKeybind ({ key, ... }: prefix key) ({ direction, ... }: action direction);
|
||||||
|
genArrow =
|
||||||
|
prefix: action: genKeybind ({ arrow, ... }: prefix arrow) ({ direction, ... }: action direction);
|
||||||
|
genArrowAndKey =
|
||||||
|
prefix: action: key:
|
||||||
|
(genKey prefix action key) // (genArrow prefix action key);
|
||||||
|
# Move window
|
||||||
|
moveWindowKeybinds = map (genArrowAndKey modShiftKeybind (dir: "move ${dir}")) dirs;
|
||||||
|
# Focus window
|
||||||
|
focusWindowKeybinds = map (genArrowAndKey modKeybind (dir: "focus ${dir}")) dirs;
|
||||||
|
# Resize window
|
||||||
|
resizeWindowKeybinds = map (genArrowAndKey modCtrlKeybind (dir: dir2resize.${dir})) dirs;
|
||||||
|
# Move container to workspace
|
||||||
|
moveWorkspaceKeybindings = map (genKeybind modShiftKeybind (
|
||||||
|
number: "move container to workspace number ${number}"
|
||||||
|
)) workspaces;
|
||||||
|
# Focus workspace
|
||||||
|
focusWorkspaceKeybindings = map (genKeybind modKeybind (
|
||||||
|
number: "workspace number ${number}"
|
||||||
|
)) workspaces;
|
||||||
|
# Move container to Workspace and focus on it
|
||||||
|
moveFocusWorkspaceKeybindings = map (genKeybind modCtrlShiftKeybind (
|
||||||
|
number: "move container to workspace number ${number}; workspace number ${number}"
|
||||||
|
)) workspaces;
|
||||||
|
in
|
||||||
|
builtins.foldl' (l: r: l // r)
|
||||||
|
{
|
||||||
|
"${mod}+Return" = "exec ${swayconf.terminal}";
|
||||||
|
"${mod}+D" = "exec ${swayconf.menu}";
|
||||||
|
"${mod}+P" = "exec ${passmenu}";
|
||||||
|
"${mod}+Shift+P" = "exec ${passmenu} --type";
|
||||||
|
"${mod}+F2" = "exec qutebrowser";
|
||||||
|
"${mod}+Shift+Q" = "kill";
|
||||||
|
"${mod}+F" = "fullscreen toggle";
|
||||||
|
# Media Controls
|
||||||
|
"${mod}+F10" = "exec ${selectAudio} select-sink";
|
||||||
|
"${mod}+Shift+F10" = "exec ${selectAudio} select-source";
|
||||||
|
"XF86AudioRaiseVolume" = "exec ${pkgs.avizo}/bin/volumectl up";
|
||||||
|
"XF86AudioLowerVolume" = "exec ${pkgs.avizo}/bin/volumectl down";
|
||||||
|
"XF86AudioMute" = "exec ${pkgs.avizo}/bin/volumectl toggle-mute";
|
||||||
|
"XF86ScreenSaver" = "exec ${pkgs.swaylock}/bin/swaylock --image ${cfg.background}";
|
||||||
|
"XF86MonBrightnessUp" = "exec ${pkgs.avizo}/bin/lightctl up";
|
||||||
|
"XF86MonBrightnessDown" = "exec ${pkgs.avizo}/bin/lightctl down";
|
||||||
|
# Floating
|
||||||
|
"${mod}+Space" = "floating toggle";
|
||||||
|
"${mod}+Shift+Space" = "focus mode_toggle";
|
||||||
|
# Scratchpad
|
||||||
|
"${mod}+Minus" = "scratchpad show";
|
||||||
|
"${mod}+Shift+Minus" = "move scratchpad";
|
||||||
|
# Layout
|
||||||
|
"${mod}+e" = "layout toggle split";
|
||||||
|
# Session control
|
||||||
|
"${mod}+r" = "reload";
|
||||||
|
"${mod}+Shift+m" = "exit";
|
||||||
|
}
|
||||||
|
(
|
||||||
|
focusWindowKeybinds
|
||||||
|
++ moveWindowKeybinds
|
||||||
|
++ resizeWindowKeybinds
|
||||||
|
++ focusWorkspaceKeybindings
|
||||||
|
++ moveWorkspaceKeybindings
|
||||||
|
++ moveFocusWorkspaceKeybindings
|
||||||
|
);
|
||||||
|
};
|
||||||
|
systemd = {
|
||||||
|
enable = true;
|
||||||
|
xdgAutostart = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,127 +0,0 @@
|
||||||
{ config, lib }:
|
|
||||||
let
|
|
||||||
cfg = config.jhome.gui;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
mainBar = {
|
|
||||||
layer = "top";
|
|
||||||
position = "top";
|
|
||||||
margin = "2 2 2 2";
|
|
||||||
# Choose the order of the modules
|
|
||||||
modules-left = [ "sway/workspaces" ];
|
|
||||||
modules-center = [ "clock" ];
|
|
||||||
modules-right =
|
|
||||||
[
|
|
||||||
"pulseaudio"
|
|
||||||
"backlight"
|
|
||||||
"battery"
|
|
||||||
"sway/language"
|
|
||||||
"memory"
|
|
||||||
]
|
|
||||||
++ lib.optional (cfg.tempInfo != null) "temperature"
|
|
||||||
++ [ "tray" ];
|
|
||||||
"sway/workspaces" = {
|
|
||||||
disable-scroll = true;
|
|
||||||
persistent-workspaces = {
|
|
||||||
"1" = [ ];
|
|
||||||
"2" = [ ];
|
|
||||||
"3" = [ ];
|
|
||||||
"4" = [ ];
|
|
||||||
"5" = [ ];
|
|
||||||
"6" = [ ];
|
|
||||||
"7" = [ ];
|
|
||||||
"8" = [ ];
|
|
||||||
"9" = [ ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"sway/language" = {
|
|
||||||
format = "{} ";
|
|
||||||
min-length = 5;
|
|
||||||
tooltip = false;
|
|
||||||
};
|
|
||||||
memory = {
|
|
||||||
format = "{used:0.1f}/{total:0.1f}GiB ";
|
|
||||||
interval = 3;
|
|
||||||
};
|
|
||||||
clock = {
|
|
||||||
timezone = "Europe/Berlin";
|
|
||||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
|
||||||
format = "{:%a, %d %b, %H:%M}";
|
|
||||||
};
|
|
||||||
pulseaudio = {
|
|
||||||
reverse-scrolling = 1;
|
|
||||||
format = "{volume}% {icon} {format_source}";
|
|
||||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
|
||||||
format-bluetooth-muted = "{volume}% {icon} {format_source}";
|
|
||||||
format-muted = "{volume}% {format_source}";
|
|
||||||
format-source = "{volume}% ";
|
|
||||||
format-source-muted = "{volume}% ";
|
|
||||||
format-icons = {
|
|
||||||
headphone = "";
|
|
||||||
hands-free = "";
|
|
||||||
headset = "";
|
|
||||||
phone = "";
|
|
||||||
portable = "";
|
|
||||||
car = "";
|
|
||||||
default = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
};
|
|
||||||
on-click = "pavucontrol";
|
|
||||||
min-length = 13;
|
|
||||||
};
|
|
||||||
temperature = lib.optionalAttrs (cfg.tempInfo != null) {
|
|
||||||
inherit (cfg.tempInfo) hwmon-path;
|
|
||||||
critical-threshold = 80;
|
|
||||||
format = "{temperatureC}°C {icon}";
|
|
||||||
format-icons = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
tooltip = false;
|
|
||||||
};
|
|
||||||
backlight = {
|
|
||||||
device = "intel_backlight";
|
|
||||||
format = "{percent}% {icon}";
|
|
||||||
format-icons = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
min-length = 7;
|
|
||||||
};
|
|
||||||
battery = {
|
|
||||||
states.warning = 30;
|
|
||||||
states.critical = 15;
|
|
||||||
format = "{capacity}% {icon}";
|
|
||||||
format-charging = "{capacity}% ";
|
|
||||||
format-plugged = "{capacity}% ";
|
|
||||||
format-alt = "{time} {icon}";
|
|
||||||
format-icons = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
};
|
|
||||||
tray = {
|
|
||||||
icon-size = 16;
|
|
||||||
spacing = 0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
159
modules/hm/gui/waybar.nix
Normal file
159
modules/hm/gui/waybar.nix
Normal file
|
@ -0,0 +1,159 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (config) jhome;
|
||||||
|
cfg = jhome.gui;
|
||||||
|
swayconf = config.wayland.windowManager.sway;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = lib.mkIf (config.jhome.enable && cfg.enable) {
|
||||||
|
# Status bar
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
settings = lib.mkIf config.jhome.styling.enable {
|
||||||
|
mainBar = {
|
||||||
|
layer = "top";
|
||||||
|
position = "top";
|
||||||
|
margin = "2 2 2 2";
|
||||||
|
# Choose the order of the modules
|
||||||
|
modules-left = [ "sway/workspaces" ];
|
||||||
|
modules-center = [ "clock" ];
|
||||||
|
modules-right =
|
||||||
|
[
|
||||||
|
"pulseaudio"
|
||||||
|
"backlight"
|
||||||
|
"battery"
|
||||||
|
"sway/language"
|
||||||
|
"memory"
|
||||||
|
]
|
||||||
|
++ lib.optional (cfg.tempInfo != null) "temperature"
|
||||||
|
++ [ "tray" ];
|
||||||
|
"sway/workspaces" = lib.mkIf swayconf.enable {
|
||||||
|
disable-scroll = true;
|
||||||
|
persistent-workspaces = {
|
||||||
|
"1" = [ ];
|
||||||
|
"2" = [ ];
|
||||||
|
"3" = [ ];
|
||||||
|
"4" = [ ];
|
||||||
|
"5" = [ ];
|
||||||
|
"6" = [ ];
|
||||||
|
"7" = [ ];
|
||||||
|
"8" = [ ];
|
||||||
|
"9" = [ ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"sway/language" = lib.mkIf swayconf.enable {
|
||||||
|
format = "{} ";
|
||||||
|
min-length = 5;
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
memory = {
|
||||||
|
format = "{used:0.1f}/{total:0.1f}GiB ";
|
||||||
|
interval = 3;
|
||||||
|
};
|
||||||
|
clock = {
|
||||||
|
timezone = "Europe/Berlin";
|
||||||
|
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||||
|
format = "{:%a, %d %b, %H:%M}";
|
||||||
|
};
|
||||||
|
wireplumber = {
|
||||||
|
reverse-scrolling = 1;
|
||||||
|
format = "{volume}% {icon} {format_source}";
|
||||||
|
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||||
|
format-bluetooth-muted = "{volume}% {icon} {format_source}";
|
||||||
|
format-muted = "{volume}% {format_source}";
|
||||||
|
format-source = "{volume}% ";
|
||||||
|
format-source-muted = "{volume}% ";
|
||||||
|
format-icons = {
|
||||||
|
headphone = "";
|
||||||
|
hands-free = "";
|
||||||
|
headset = "";
|
||||||
|
phone = "";
|
||||||
|
portable = "";
|
||||||
|
car = "";
|
||||||
|
default = [
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
];
|
||||||
|
};
|
||||||
|
on-click = lib.getExe pkgs.helvum;
|
||||||
|
min-length = 13;
|
||||||
|
};
|
||||||
|
temperature = lib.optionalAttrs (cfg.tempInfo != null) {
|
||||||
|
inherit (cfg.tempInfo) hwmon-path;
|
||||||
|
critical-threshold = 80;
|
||||||
|
format = "{temperatureC}°C {icon}";
|
||||||
|
format-icons = [
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
];
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
backlight = {
|
||||||
|
device = "intel_backlight";
|
||||||
|
format = "{percent}% {icon}";
|
||||||
|
format-icons = [
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
];
|
||||||
|
min-length = 7;
|
||||||
|
};
|
||||||
|
battery = {
|
||||||
|
states.warning = 30;
|
||||||
|
states.critical = 15;
|
||||||
|
format = "{capacity}% {icon}";
|
||||||
|
format-charging = "{capacity}% ";
|
||||||
|
format-plugged = "{capacity}% ";
|
||||||
|
format-alt = "{time} {icon}";
|
||||||
|
format-icons = [
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
];
|
||||||
|
};
|
||||||
|
tray = {
|
||||||
|
icon-size = 16;
|
||||||
|
spacing = 0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Style overrides to highlight workspaces with windows
|
||||||
|
style =
|
||||||
|
lib.pipe
|
||||||
|
# css
|
||||||
|
''
|
||||||
|
.modules-left #workspaces button {
|
||||||
|
border-bottom: 3px solid @base01;
|
||||||
|
}
|
||||||
|
.modules-left #workspaces button.persistent {
|
||||||
|
border-bottom: 3px solid transparent;
|
||||||
|
}
|
||||||
|
''
|
||||||
|
[
|
||||||
|
(lib.optionalString config.jhome.styling.enable)
|
||||||
|
lib.mkAfter
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -198,8 +198,6 @@ in
|
||||||
[ "just" ] # just a command runner
|
[ "just" ] # just a command runner
|
||||||
[ "typos" ] # low false positive rate typo checker
|
[ "typos" ] # low false positive rate typo checker
|
||||||
[ "gcc" ] # GNU Compiler Collection
|
[ "gcc" ] # GNU Compiler Collection
|
||||||
[ "git-absorb" ] # fixup! but automatic
|
|
||||||
[ "gitoxide" ] # git but RiiR
|
|
||||||
[ "man-pages" ] # gimme the man pages
|
[ "man-pages" ] # gimme the man pages
|
||||||
[ "man-pages-posix" ] # I said gimme the man pages!!!
|
[ "man-pages-posix" ] # I said gimme the man pages!!!
|
||||||
];
|
];
|
||||||
|
|
|
@ -17,6 +17,7 @@ in
|
||||||
./options.nix
|
./options.nix
|
||||||
./dev.nix
|
./dev.nix
|
||||||
./gui.nix
|
./gui.nix
|
||||||
|
./starship.nix
|
||||||
./styling.nix
|
./styling.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -34,42 +35,7 @@ in
|
||||||
pkgs.unzip
|
pkgs.unzip
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs.fish.enable = true;
|
||||||
# Launch fish if shell is interactive (from https://wiki.nixos.org/wiki/Fish)
|
|
||||||
bash.interactiveShellInit = # bash
|
|
||||||
''
|
|
||||||
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
|
||||||
then
|
|
||||||
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
|
||||||
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
# Default shell
|
|
||||||
fish.enable = true;
|
|
||||||
# Shell prompt
|
|
||||||
starship = {
|
|
||||||
enable = true;
|
|
||||||
settings = lib.mkMerge [
|
|
||||||
{
|
|
||||||
format = "$time$all";
|
|
||||||
add_newline = false;
|
|
||||||
cmd_duration.min_time = 500;
|
|
||||||
cmd_duration.show_milliseconds = true;
|
|
||||||
time.disabled = false;
|
|
||||||
status = {
|
|
||||||
format = "[$signal_name$common_meaning$maybe_int](red)";
|
|
||||||
symbol = "[✗](bold red)";
|
|
||||||
disabled = false;
|
|
||||||
};
|
|
||||||
sudo.disabled = false;
|
|
||||||
}
|
|
||||||
# Add nerdfont symbols
|
|
||||||
(lib.mkIf cfg.styling.enable (import ./starship-nerdfont-symbols.nix))
|
|
||||||
# Remove the `in`s and `on`s from the prompt
|
|
||||||
(import ./starship-shorter-text.nix)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.etc = keysFromGithub;
|
environment.etc = keysFromGithub;
|
||||||
services = {
|
services = {
|
||||||
|
|
|
@ -1,89 +0,0 @@
|
||||||
{
|
|
||||||
aws.symbol = " ";
|
|
||||||
buf.symbol = " ";
|
|
||||||
c.symbol = " ";
|
|
||||||
conda.symbol = " ";
|
|
||||||
crystal.symbol = " ";
|
|
||||||
dart.symbol = " ";
|
|
||||||
directory.read_only = " ";
|
|
||||||
docker_context.symbol = " ";
|
|
||||||
elixir.symbol = " ";
|
|
||||||
elm.symbol = " ";
|
|
||||||
fennel.symbol = " ";
|
|
||||||
fossil_branch.symbol = " ";
|
|
||||||
git_branch.symbol = " ";
|
|
||||||
git_commit.tag_symbol = " ";
|
|
||||||
golang.symbol = " ";
|
|
||||||
gradle.symbol = " ";
|
|
||||||
guix_shell.symbol = " ";
|
|
||||||
haskell.symbol = " ";
|
|
||||||
haxe.symbol = " ";
|
|
||||||
hg_branch.symbol = " ";
|
|
||||||
hostname.ssh_symbol = " ";
|
|
||||||
java.symbol = " ";
|
|
||||||
julia.symbol = " ";
|
|
||||||
kotlin.symbol = " ";
|
|
||||||
lua.symbol = " ";
|
|
||||||
memory_usage.symbol = " ";
|
|
||||||
meson.symbol = " ";
|
|
||||||
nim.symbol = " ";
|
|
||||||
nix_shell.symbol = " ";
|
|
||||||
nodejs.symbol = " ";
|
|
||||||
ocaml.symbol = " ";
|
|
||||||
package.symbol = " ";
|
|
||||||
perl.symbol = " ";
|
|
||||||
php.symbol = " ";
|
|
||||||
pijul_channel.symbol = " ";
|
|
||||||
python.symbol = " ";
|
|
||||||
rlang.symbol = " ";
|
|
||||||
ruby.symbol = " ";
|
|
||||||
rust.symbol = " ";
|
|
||||||
scala.symbol = " ";
|
|
||||||
swift.symbol = " ";
|
|
||||||
zig.symbol = " ";
|
|
||||||
os.symbols = {
|
|
||||||
Alpaquita = " ";
|
|
||||||
Alpine = " ";
|
|
||||||
AlmaLinux = " ";
|
|
||||||
Amazon = " ";
|
|
||||||
Android = " ";
|
|
||||||
Arch = " ";
|
|
||||||
Artix = " ";
|
|
||||||
CentOS = " ";
|
|
||||||
Debian = " ";
|
|
||||||
DragonFly = " ";
|
|
||||||
Emscripten = " ";
|
|
||||||
EndeavourOS = " ";
|
|
||||||
Fedora = " ";
|
|
||||||
FreeBSD = " ";
|
|
||||||
Garuda = " ";
|
|
||||||
Gentoo = " ";
|
|
||||||
HardenedBSD = " ";
|
|
||||||
Illumos = " ";
|
|
||||||
Kali = " ";
|
|
||||||
Linux = " ";
|
|
||||||
Mabox = " ";
|
|
||||||
Macos = " ";
|
|
||||||
Manjaro = " ";
|
|
||||||
Mariner = " ";
|
|
||||||
MidnightBSD = " ";
|
|
||||||
Mint = " ";
|
|
||||||
NetBSD = " ";
|
|
||||||
NixOS = " ";
|
|
||||||
OpenBSD = " ";
|
|
||||||
openSUSE = " ";
|
|
||||||
OracleLinux = " ";
|
|
||||||
Pop = " ";
|
|
||||||
Raspbian = " ";
|
|
||||||
Redhat = " ";
|
|
||||||
RedHatEnterprise = " ";
|
|
||||||
RockyLinux = " ";
|
|
||||||
Redox = " ";
|
|
||||||
Solus = " ";
|
|
||||||
SUSE = " ";
|
|
||||||
Ubuntu = " ";
|
|
||||||
Unknown = " ";
|
|
||||||
Void = " ";
|
|
||||||
Windows = " ";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,66 +0,0 @@
|
||||||
{
|
|
||||||
aws.format = "[$symbol($profile)(\\($region\\))(\\[$duration\\])]($style) ";
|
|
||||||
bun.format = "[$symbol($version)]($style) ";
|
|
||||||
c.format = "[$symbol($version(-$name))]($style) ";
|
|
||||||
cmake.format = "[$symbol($version)]($style) ";
|
|
||||||
cmd_duration.format = "[⏱ $duration]($style) ";
|
|
||||||
cobol.format = "[$symbol($version)]($style) ";
|
|
||||||
conda.format = "[$symbol$environment]($style) ";
|
|
||||||
crystal.format = "[$symbol($version)]($style) ";
|
|
||||||
daml.format = "[$symbol($version)]($style) ";
|
|
||||||
dart.format = "[$symbol($version)]($style) ";
|
|
||||||
deno.format = "[$symbol($version)]($style) ";
|
|
||||||
docker_context.format = "[$symbol$context]($style) ";
|
|
||||||
dotnet.format = "[$symbol($version)(🎯 $tfm)]($style) ";
|
|
||||||
elixir.format = "[$symbol($version \\(OTP $otp_version\\))]($style) ";
|
|
||||||
elm.format = "[$symbol($version)]($style) ";
|
|
||||||
erlang.format = "[$symbol($version)]($style) ";
|
|
||||||
fennel.format = "[$symbol($version)]($style) ";
|
|
||||||
fossil_branch.format = "[$symbol$branch]($style) ";
|
|
||||||
gcloud.format = "[$symbol$account(@$domain)(\\($region\\))]($style) ";
|
|
||||||
git_branch.format = "[$symbol$branch]($style) ";
|
|
||||||
git_status.format = "[$all_status$ahead_behind]($style) ";
|
|
||||||
golang.format = "[$symbol($version)]($style) ";
|
|
||||||
gradle.format = "[$symbol($version)]($style) ";
|
|
||||||
guix_shell.format = "[$symbol]($style) ";
|
|
||||||
haskell.format = "[$symbol($version)]($style) ";
|
|
||||||
haxe.format = "[$symbol($version)]($style) ";
|
|
||||||
helm.format = "[$symbol($version)]($style) ";
|
|
||||||
hg_branch.format = "[$symbol$branch]($style) ";
|
|
||||||
java.format = "[$symbol($version)]($style) ";
|
|
||||||
julia.format = "[$symbol($version)]($style) ";
|
|
||||||
kotlin.format = "[$symbol($version)]($style) ";
|
|
||||||
kubernetes.format = "[$symbol$context( \\($namespace\\))]($style) ";
|
|
||||||
lua.format = "[$symbol($version)]($style) ";
|
|
||||||
memory_usage.format = "$symbol[$ram( | $swap)]($style) ";
|
|
||||||
meson.format = "[$symbol$project]($style) ";
|
|
||||||
nim.format = "[$symbol($version)]($style) ";
|
|
||||||
nix_shell.format = "[$symbol$state( \\($name\\))]($style) ";
|
|
||||||
nodejs.format = "[$symbol($version)]($style) ";
|
|
||||||
ocaml.format = "[$symbol($version)(\\($switch_indicator$switch_name\\))]($style) ";
|
|
||||||
opa.format = "[$symbol($version)]($style) ";
|
|
||||||
openstack.format = "[$symbol$cloud(\\($project\\))]($style) ";
|
|
||||||
os.format = "[$symbol]($style) ";
|
|
||||||
package.format = "[$symbol$version]($style) ";
|
|
||||||
perl.format = "[$symbol($version)]($style) ";
|
|
||||||
php.format = "[$symbol($version)]($style) ";
|
|
||||||
pijul_channel.format = "[$symbol$channel]($style) ";
|
|
||||||
pulumi.format = "[$symbol$stack]($style) ";
|
|
||||||
purescript.format = "[$symbol($version)]($style) ";
|
|
||||||
python.format = "[\${symbol}\${pyenv_prefix}(\${version})(\\($virtualenv\\))]($style) ";
|
|
||||||
raku.format = "[$symbol($version-$vm_version)]($style) ";
|
|
||||||
red.format = "[$symbol($version)]($style) ";
|
|
||||||
ruby.format = "[$symbol($version)]($style) ";
|
|
||||||
rust.format = "[$symbol($version)]($style) ";
|
|
||||||
scala.format = "[$symbol($version)]($style) ";
|
|
||||||
spack.format = "[$symbol$environment]($style) ";
|
|
||||||
sudo.format = "[as $symbol]($style) ";
|
|
||||||
swift.format = "[$symbol($version)]($style) ";
|
|
||||||
terraform.format = "[$symbol$workspace]($style) ";
|
|
||||||
time.format = "[$time]($style) ";
|
|
||||||
username.format = "[$user]($style) ";
|
|
||||||
vagrant.format = "[$symbol($version)]($style) ";
|
|
||||||
vlang.format = "[$symbol($version)]($style) ";
|
|
||||||
zig.format = "[$symbol($version)]($style) ";
|
|
||||||
solidity.format = "[$symbol($version)]($style) ";
|
|
||||||
}
|
|
183
modules/nixos/starship.nix
Normal file
183
modules/nixos/starship.nix
Normal file
|
@ -0,0 +1,183 @@
|
||||||
|
{ pkgs, lib, ... }@args:
|
||||||
|
let
|
||||||
|
cfg = args.config.jconfig;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
settings = lib.mkMerge [
|
||||||
|
{
|
||||||
|
format = "$time$all";
|
||||||
|
add_newline = false;
|
||||||
|
cmd_duration.min_time = 500;
|
||||||
|
cmd_duration.show_milliseconds = true;
|
||||||
|
time.disabled = false;
|
||||||
|
status = {
|
||||||
|
format = "[$signal_name$common_meaning$maybe_int](red)";
|
||||||
|
symbol = "[✗](bold red)";
|
||||||
|
disabled = false;
|
||||||
|
};
|
||||||
|
sudo.disabled = false;
|
||||||
|
}
|
||||||
|
# Add nerdfont symbols
|
||||||
|
(lib.mkIf cfg.styling.enable {
|
||||||
|
aws.symbol = " ";
|
||||||
|
buf.symbol = " ";
|
||||||
|
c.symbol = " ";
|
||||||
|
conda.symbol = " ";
|
||||||
|
crystal.symbol = " ";
|
||||||
|
dart.symbol = " ";
|
||||||
|
directory.read_only = " ";
|
||||||
|
docker_context.symbol = " ";
|
||||||
|
elixir.symbol = " ";
|
||||||
|
elm.symbol = " ";
|
||||||
|
fennel.symbol = " ";
|
||||||
|
fossil_branch.symbol = " ";
|
||||||
|
git_branch.symbol = " ";
|
||||||
|
git_commit.tag_symbol = " ";
|
||||||
|
golang.symbol = " ";
|
||||||
|
gradle.symbol = " ";
|
||||||
|
guix_shell.symbol = " ";
|
||||||
|
haskell.symbol = " ";
|
||||||
|
haxe.symbol = " ";
|
||||||
|
hg_branch.symbol = " ";
|
||||||
|
hostname.ssh_symbol = " ";
|
||||||
|
java.symbol = " ";
|
||||||
|
julia.symbol = " ";
|
||||||
|
kotlin.symbol = " ";
|
||||||
|
lua.symbol = " ";
|
||||||
|
memory_usage.symbol = " ";
|
||||||
|
meson.symbol = " ";
|
||||||
|
nim.symbol = " ";
|
||||||
|
nix_shell.symbol = " ";
|
||||||
|
nodejs.symbol = " ";
|
||||||
|
ocaml.symbol = " ";
|
||||||
|
package.symbol = " ";
|
||||||
|
perl.symbol = " ";
|
||||||
|
php.symbol = " ";
|
||||||
|
pijul_channel.symbol = " ";
|
||||||
|
python.symbol = " ";
|
||||||
|
rlang.symbol = " ";
|
||||||
|
ruby.symbol = " ";
|
||||||
|
rust.symbol = " ";
|
||||||
|
scala.symbol = " ";
|
||||||
|
swift.symbol = " ";
|
||||||
|
zig.symbol = " ";
|
||||||
|
os.symbols = {
|
||||||
|
Alpaquita = " ";
|
||||||
|
Alpine = " ";
|
||||||
|
AlmaLinux = " ";
|
||||||
|
Amazon = " ";
|
||||||
|
Android = " ";
|
||||||
|
Arch = " ";
|
||||||
|
Artix = " ";
|
||||||
|
CentOS = " ";
|
||||||
|
Debian = " ";
|
||||||
|
DragonFly = " ";
|
||||||
|
Emscripten = " ";
|
||||||
|
EndeavourOS = " ";
|
||||||
|
Fedora = " ";
|
||||||
|
FreeBSD = " ";
|
||||||
|
Garuda = " ";
|
||||||
|
Gentoo = " ";
|
||||||
|
HardenedBSD = " ";
|
||||||
|
Illumos = " ";
|
||||||
|
Kali = " ";
|
||||||
|
Linux = " ";
|
||||||
|
Mabox = " ";
|
||||||
|
Macos = " ";
|
||||||
|
Manjaro = " ";
|
||||||
|
Mariner = " ";
|
||||||
|
MidnightBSD = " ";
|
||||||
|
Mint = " ";
|
||||||
|
NetBSD = " ";
|
||||||
|
NixOS = " ";
|
||||||
|
OpenBSD = " ";
|
||||||
|
openSUSE = " ";
|
||||||
|
OracleLinux = " ";
|
||||||
|
Pop = " ";
|
||||||
|
Raspbian = " ";
|
||||||
|
Redhat = " ";
|
||||||
|
RedHatEnterprise = " ";
|
||||||
|
RockyLinux = " ";
|
||||||
|
Redox = " ";
|
||||||
|
Solus = " ";
|
||||||
|
SUSE = " ";
|
||||||
|
Ubuntu = " ";
|
||||||
|
Unknown = " ";
|
||||||
|
Void = " ";
|
||||||
|
Windows = " ";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
# Remove the `in`s and `on`s from the prompt
|
||||||
|
{
|
||||||
|
aws.format = "[$symbol($profile)(\\($region\\))(\\[$duration\\])]($style) ";
|
||||||
|
bun.format = "[$symbol($version)]($style) ";
|
||||||
|
c.format = "[$symbol($version(-$name))]($style) ";
|
||||||
|
cmake.format = "[$symbol($version)]($style) ";
|
||||||
|
cmd_duration.format = "[⏱ $duration]($style) ";
|
||||||
|
cobol.format = "[$symbol($version)]($style) ";
|
||||||
|
conda.format = "[$symbol$environment]($style) ";
|
||||||
|
crystal.format = "[$symbol($version)]($style) ";
|
||||||
|
daml.format = "[$symbol($version)]($style) ";
|
||||||
|
dart.format = "[$symbol($version)]($style) ";
|
||||||
|
deno.format = "[$symbol($version)]($style) ";
|
||||||
|
docker_context.format = "[$symbol$context]($style) ";
|
||||||
|
dotnet.format = "[$symbol($version)(🎯 $tfm)]($style) ";
|
||||||
|
elixir.format = "[$symbol($version \\(OTP $otp_version\\))]($style) ";
|
||||||
|
elm.format = "[$symbol($version)]($style) ";
|
||||||
|
erlang.format = "[$symbol($version)]($style) ";
|
||||||
|
fennel.format = "[$symbol($version)]($style) ";
|
||||||
|
fossil_branch.format = "[$symbol$branch]($style) ";
|
||||||
|
gcloud.format = "[$symbol$account(@$domain)(\\($region\\))]($style) ";
|
||||||
|
git_branch.format = "[$symbol$branch]($style) ";
|
||||||
|
git_status.format = "[$all_status$ahead_behind]($style) ";
|
||||||
|
golang.format = "[$symbol($version)]($style) ";
|
||||||
|
gradle.format = "[$symbol($version)]($style) ";
|
||||||
|
guix_shell.format = "[$symbol]($style) ";
|
||||||
|
haskell.format = "[$symbol($version)]($style) ";
|
||||||
|
haxe.format = "[$symbol($version)]($style) ";
|
||||||
|
helm.format = "[$symbol($version)]($style) ";
|
||||||
|
hg_branch.format = "[$symbol$branch]($style) ";
|
||||||
|
java.format = "[$symbol($version)]($style) ";
|
||||||
|
julia.format = "[$symbol($version)]($style) ";
|
||||||
|
kotlin.format = "[$symbol($version)]($style) ";
|
||||||
|
kubernetes.format = "[$symbol$context( \\($namespace\\))]($style) ";
|
||||||
|
lua.format = "[$symbol($version)]($style) ";
|
||||||
|
memory_usage.format = "$symbol[$ram( | $swap)]($style) ";
|
||||||
|
meson.format = "[$symbol$project]($style) ";
|
||||||
|
nim.format = "[$symbol($version)]($style) ";
|
||||||
|
nix_shell.format = "[$symbol$state( \\($name\\))]($style) ";
|
||||||
|
nodejs.format = "[$symbol($version)]($style) ";
|
||||||
|
ocaml.format = "[$symbol($version)(\\($switch_indicator$switch_name\\))]($style) ";
|
||||||
|
opa.format = "[$symbol($version)]($style) ";
|
||||||
|
openstack.format = "[$symbol$cloud(\\($project\\))]($style) ";
|
||||||
|
os.format = "[$symbol]($style) ";
|
||||||
|
package.format = "[$symbol$version]($style) ";
|
||||||
|
perl.format = "[$symbol($version)]($style) ";
|
||||||
|
php.format = "[$symbol($version)]($style) ";
|
||||||
|
pijul_channel.format = "[$symbol$channel]($style) ";
|
||||||
|
pulumi.format = "[$symbol$stack]($style) ";
|
||||||
|
purescript.format = "[$symbol($version)]($style) ";
|
||||||
|
python.format = "[\${symbol}\${pyenv_prefix}(\${version})(\\($virtualenv\\))]($style) ";
|
||||||
|
raku.format = "[$symbol($version-$vm_version)]($style) ";
|
||||||
|
red.format = "[$symbol($version)]($style) ";
|
||||||
|
ruby.format = "[$symbol($version)]($style) ";
|
||||||
|
rust.format = "[$symbol($version)]($style) ";
|
||||||
|
scala.format = "[$symbol($version)]($style) ";
|
||||||
|
spack.format = "[$symbol$environment]($style) ";
|
||||||
|
sudo.format = "[as $symbol]($style) ";
|
||||||
|
swift.format = "[$symbol($version)]($style) ";
|
||||||
|
terraform.format = "[$symbol$workspace]($style) ";
|
||||||
|
time.format = "[$time]($style) ";
|
||||||
|
username.format = "[$user]($style) ";
|
||||||
|
vagrant.format = "[$symbol($version)]($style) ";
|
||||||
|
vlang.format = "[$symbol($version)]($style) ";
|
||||||
|
zig.format = "[$symbol($version)]($style) ";
|
||||||
|
solidity.format = "[$symbol($version)]($style) ";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,10 +6,9 @@ in
|
||||||
imports = [ ./options.nix ];
|
imports = [ ./options.nix ];
|
||||||
|
|
||||||
config.programs.nixvim = lib.mkMerge [
|
config.programs.nixvim = lib.mkMerge [
|
||||||
(import ./standalone.nix)
|
./standalone.nix
|
||||||
(lib.mkIf cfg.enable {
|
(lib.mkIf cfg.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
nixpkgs.useGlobalPackages = true;
|
|
||||||
defaultEditor = lib.mkDefault true;
|
defaultEditor = lib.mkDefault true;
|
||||||
jhome.nvim = cfg;
|
jhome.nvim = cfg;
|
||||||
})
|
})
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (helpers) enableExceptInTests;
|
inherit (helpers) enableExceptInTests;
|
||||||
|
inherit (lib.trivial) const;
|
||||||
cfg = config.jhome.nvim;
|
cfg = config.jhome.nvim;
|
||||||
enabledLSPs = [
|
enabledLSPs = [
|
||||||
"basedpyright"
|
"basedpyright"
|
||||||
|
@ -23,21 +24,18 @@ let
|
||||||
"zls"
|
"zls"
|
||||||
"fish_lsp"
|
"fish_lsp"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
enableOpt.enable = true;
|
||||||
|
noPackage.package = null;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.dev.enable (
|
config = lib.mkIf cfg.dev.enable (
|
||||||
lib.mkMerge [
|
lib.mkMerge [
|
||||||
# Enable LSPs
|
# Enable LSPs
|
||||||
{
|
{ plugins.lsp.servers = lib.genAttrs enabledLSPs (const enableOpt); }
|
||||||
plugins.lsp.servers = lib.genAttrs enabledLSPs (_: {
|
|
||||||
enable = true;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
# Remove bundled LSPs
|
# Remove bundled LSPs
|
||||||
(lib.mkIf (!cfg.dev.bundleLSPs) {
|
(lib.mkIf (!cfg.dev.bundleLSPs) {
|
||||||
plugins.lsp.servers = lib.genAttrs enabledLSPs (_: {
|
plugins.lsp.servers = lib.genAttrs enabledLSPs (const noPackage);
|
||||||
package = null;
|
|
||||||
});
|
|
||||||
})
|
})
|
||||||
# Configure LSPs
|
# Configure LSPs
|
||||||
{
|
{
|
||||||
|
@ -46,17 +44,19 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
servers = {
|
servers = {
|
||||||
# Pyright needs to have the project root set?
|
# Pyright needs to have the project root set?
|
||||||
basedpyright.rootDir = # lua
|
basedpyright.rootMarkers = [
|
||||||
''
|
"flake.nix"
|
||||||
function()
|
".git"
|
||||||
return vim.fs.root(0, {'flake.nix', '.git', '.jj', 'pyproject.toml', 'setup.py'})
|
".jj"
|
||||||
end
|
"pyproject.toml"
|
||||||
'';
|
"setup.py"
|
||||||
bashls.package = lib.mkDefault pkgs.bash-language-server;
|
];
|
||||||
# Adds ~2 GiB, install in a devShell instead
|
# Big but infrequently used dependencies.
|
||||||
clangd.package = lib.mkDefault null;
|
#
|
||||||
# zls & other zig tools are big, install in a devShell instead
|
# Configure the LSPs, but don't install the packages.
|
||||||
zls.package = lib.mkDefault null;
|
# If you need to use them, add them to your project's devShell
|
||||||
|
clangd = noPackage;
|
||||||
|
zls = noPackage;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
lspkind = {
|
lspkind = {
|
||||||
|
@ -82,10 +82,10 @@ in
|
||||||
(lib.mkIf (!cfg.dev.bundleGrammars) { plugins.treesitter.grammarPackages = [ ]; })
|
(lib.mkIf (!cfg.dev.bundleGrammars) { plugins.treesitter.grammarPackages = [ ]; })
|
||||||
# Remove tools for building gramars when bundling them
|
# Remove tools for building gramars when bundling them
|
||||||
(lib.mkIf cfg.dev.bundleGrammars {
|
(lib.mkIf cfg.dev.bundleGrammars {
|
||||||
plugins.treesitter = {
|
dependencies = {
|
||||||
gccPackage = null;
|
gcc.enable = false;
|
||||||
nodejsPackage = null;
|
nodejs.enable = false;
|
||||||
treesitterPackage = null;
|
tree-sitter.enable = false;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
# Configure Formatters
|
# Configure Formatters
|
||||||
|
@ -159,17 +159,9 @@ in
|
||||||
}
|
}
|
||||||
# Rust plugins
|
# Rust plugins
|
||||||
{
|
{
|
||||||
plugins = {
|
plugins.rustaceanvim.enable = true;
|
||||||
bacon = {
|
# install through rustup
|
||||||
enable = true;
|
dependencies.rust-analyzer.enable = false;
|
||||||
settings.quickfix.enabled = true;
|
|
||||||
};
|
|
||||||
rustaceanvim = {
|
|
||||||
enable = true;
|
|
||||||
# Install through rustup
|
|
||||||
rustAnalyzerPackage = null;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
# Other plugins
|
# Other plugins
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
{ pkgs }:
|
|
||||||
let
|
|
||||||
overlay = pkgs.callPackage ./generated.nix {
|
|
||||||
inherit (pkgs.vimUtils) buildVimPlugin buildNeovimPlugin;
|
|
||||||
};
|
|
||||||
plugins = overlay pkgs pkgs;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
inherit overlay;
|
|
||||||
inherit (plugins) nvim-silicon;
|
|
||||||
}
|
|
|
@ -7,7 +7,12 @@
|
||||||
let
|
let
|
||||||
cfg = config.jhome.nvim;
|
cfg = config.jhome.nvim;
|
||||||
plugins = pkgs.vimPlugins;
|
plugins = pkgs.vimPlugins;
|
||||||
extraPlugins = import ./extraPlugins { inherit pkgs; };
|
jExtraVimPlugins = pkgs.vimPlugins.extend (
|
||||||
|
pkgs.callPackage ./extraPlugins/generated.nix {
|
||||||
|
inherit (pkgs.vimUtils) buildVimPlugin;
|
||||||
|
inherit (pkgs.neovimUtils) buildNeovimPlugin;
|
||||||
|
}
|
||||||
|
);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -55,7 +60,6 @@ in
|
||||||
extraPlugins = [
|
extraPlugins = [
|
||||||
plugins.nui-nvim
|
plugins.nui-nvim
|
||||||
plugins.nvim-web-devicons
|
plugins.nvim-web-devicons
|
||||||
plugins.vim-jjdescription # FIXME: included since neovim nightly
|
|
||||||
];
|
];
|
||||||
extraPackages = [ pkgs.luajitPackages.jsregexp ];
|
extraPackages = [ pkgs.luajitPackages.jsregexp ];
|
||||||
extraConfigLuaPre =
|
extraConfigLuaPre =
|
||||||
|
@ -79,7 +83,7 @@ in
|
||||||
}
|
}
|
||||||
# Big packages that are kinda unnecessary
|
# Big packages that are kinda unnecessary
|
||||||
(lib.mkIf (!cfg.reduceSize) {
|
(lib.mkIf (!cfg.reduceSize) {
|
||||||
extraPlugins = [ extraPlugins.nvim-silicon ];
|
extraPlugins = [ jExtraVimPlugins.nvim-silicon ];
|
||||||
extraPackages = [ pkgs.silicon ];
|
extraPackages = [ pkgs.silicon ];
|
||||||
extraConfigLua =
|
extraConfigLua =
|
||||||
# lua
|
# lua
|
||||||
|
|
73
scripts/audiomenu/Cargo.lock
generated
73
scripts/audiomenu/Cargo.lock
generated
|
@ -116,9 +116,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap"
|
name = "clap"
|
||||||
version = "4.5.34"
|
version = "4.5.37"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e958897981290da2a852763fe9cdb89cd36977a5d729023127095fa94d95e2ff"
|
checksum = "eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap_builder",
|
"clap_builder",
|
||||||
"clap_derive",
|
"clap_derive",
|
||||||
|
@ -126,9 +126,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_builder"
|
name = "clap_builder"
|
||||||
version = "4.5.34"
|
version = "4.5.37"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "83b0f35019843db2160b5bb19ae09b4e6411ac33fc6a712003c33e03090e2489"
|
checksum = "efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anstream",
|
"anstream",
|
||||||
"anstyle",
|
"anstyle",
|
||||||
|
@ -174,9 +174,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "errno"
|
name = "errno"
|
||||||
version = "0.3.10"
|
version = "0.3.11"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
|
checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"windows-sys",
|
"windows-sys",
|
||||||
|
@ -214,15 +214,15 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.171"
|
version = "0.2.172"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6"
|
checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "linux-raw-sys"
|
name = "linux-raw-sys"
|
||||||
version = "0.9.3"
|
version = "0.9.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413"
|
checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "memchr"
|
name = "memchr"
|
||||||
|
@ -232,9 +232,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "miette"
|
name = "miette"
|
||||||
version = "7.5.0"
|
version = "7.6.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1a955165f87b37fd1862df2a59547ac542c77ef6d17c666f619d1ad22dd89484"
|
checksum = "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"backtrace",
|
"backtrace",
|
||||||
"backtrace-ext",
|
"backtrace-ext",
|
||||||
|
@ -246,15 +246,14 @@ dependencies = [
|
||||||
"supports-unicode",
|
"supports-unicode",
|
||||||
"terminal_size",
|
"terminal_size",
|
||||||
"textwrap",
|
"textwrap",
|
||||||
"thiserror",
|
|
||||||
"unicode-width 0.1.14",
|
"unicode-width 0.1.14",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "miette-derive"
|
name = "miette-derive"
|
||||||
version = "7.5.0"
|
version = "7.6.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bf45bf44ab49be92fd1227a3be6fc6f617f1a337c06af54981048574d8783147"
|
checksum = "db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
@ -263,9 +262,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "miniz_oxide"
|
name = "miniz_oxide"
|
||||||
version = "0.8.5"
|
version = "0.8.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5"
|
checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"adler2",
|
"adler2",
|
||||||
]
|
]
|
||||||
|
@ -281,9 +280,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "once_cell"
|
name = "once_cell"
|
||||||
version = "1.21.1"
|
version = "1.21.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc"
|
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "os_pipe"
|
name = "os_pipe"
|
||||||
|
@ -303,9 +302,9 @@ checksum = "1036865bb9422d3300cf723f657c2851d0e9ab12567854b1f4eba3d77decf564"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro2"
|
name = "proc-macro2"
|
||||||
version = "1.0.94"
|
version = "1.0.95"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
|
checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
|
@ -327,9 +326,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustix"
|
name = "rustix"
|
||||||
version = "1.0.3"
|
version = "1.0.7"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96"
|
checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"errno",
|
"errno",
|
||||||
|
@ -378,9 +377,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "shared_child"
|
name = "shared_child"
|
||||||
version = "1.0.1"
|
version = "1.0.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c"
|
checksum = "7e297bd52991bbe0686c086957bee142f13df85d1e79b0b21630a99d374ae9dc"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"windows-sys",
|
"windows-sys",
|
||||||
|
@ -415,9 +414,9 @@ checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "2.0.100"
|
version = "2.0.101"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
|
checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
@ -444,26 +443,6 @@ dependencies = [
|
||||||
"unicode-width 0.2.0",
|
"unicode-width 0.2.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "thiserror"
|
|
||||||
version = "1.0.69"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
|
|
||||||
dependencies = [
|
|
||||||
"thiserror-impl",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "thiserror-impl"
|
|
||||||
version = "1.0.69"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-ident"
|
name = "unicode-ident"
|
||||||
version = "1.0.18"
|
version = "1.0.18"
|
||||||
|
|
|
@ -1,23 +1,37 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
src = ./.;
|
||||||
# Autodetects files with a package.nix and calls `callPackage` on them.
|
# Autodetects files with a package.nix and calls `callPackage` on them.
|
||||||
#
|
#
|
||||||
# Will add a package .#dirname to the flake if it finds a ./dirname/package.nix file.
|
# Will add a package .#dirname to the flake if it finds a ./dirname/package.nix file.
|
||||||
let
|
files = builtins.readDir src;
|
||||||
files = builtins.readDir ./.;
|
|
||||||
isPackage = path: type: (type == "directory") && (builtins.readDir path) ? "package.nix";
|
isPackage = path: type: (type == "directory") && (builtins.readDir path) ? "package.nix";
|
||||||
toPackage = name: pkgs: {
|
toPackage = name: pkgs: {
|
||||||
inherit name;
|
inherit name;
|
||||||
value = pkgs.callPackage (./. + "/${name}/package.nix") { };
|
value = pkgs.callPackage "${src}/${name}/package.nix" { };
|
||||||
};
|
};
|
||||||
# call pkgs.callPackage on all ./*/package.nix
|
# call pkgs.callPackage on all ./*/package.nix
|
||||||
makePackage =
|
makePackage =
|
||||||
pkgs: name:
|
pkgs: name:
|
||||||
let
|
let
|
||||||
type = files.${name};
|
type = files.${name};
|
||||||
path = ./. + "/${name}";
|
path = "${src}/${name}";
|
||||||
package = toPackage name pkgs;
|
package = toPackage name pkgs;
|
||||||
in
|
in
|
||||||
# if it is a package then return a package otherwise return no package c:
|
# if it is a package then return a package otherwise return no package c:
|
||||||
if isPackage path type then [ package ] else [ ];
|
if isPackage path type then [ package ] else [ ];
|
||||||
in
|
|
||||||
# we have lib.filterMapAttrs at home
|
# we have lib.filterMapAttrs at home
|
||||||
pkgs: builtins.listToAttrs (builtins.concatMap (makePackage pkgs) (builtins.attrNames files))
|
scripts =
|
||||||
|
pkgs: builtins.listToAttrs (builtins.concatMap (makePackage pkgs) (builtins.attrNames files));
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# Add scripts to overlay
|
||||||
|
flake.overlays.scripts = final: scripts;
|
||||||
|
|
||||||
|
# Add scripts to packages
|
||||||
|
perSystem =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
packages = scripts pkgs;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
89
scripts/jpassmenu/Cargo.lock
generated
89
scripts/jpassmenu/Cargo.lock
generated
|
@ -108,9 +108,9 @@ checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bstr"
|
name = "bstr"
|
||||||
version = "1.11.3"
|
version = "1.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0"
|
checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"memchr",
|
"memchr",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -124,9 +124,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap"
|
name = "clap"
|
||||||
version = "4.5.34"
|
version = "4.5.37"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e958897981290da2a852763fe9cdb89cd36977a5d729023127095fa94d95e2ff"
|
checksum = "eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap_builder",
|
"clap_builder",
|
||||||
"clap_derive",
|
"clap_derive",
|
||||||
|
@ -134,9 +134,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_builder"
|
name = "clap_builder"
|
||||||
version = "4.5.34"
|
version = "4.5.37"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "83b0f35019843db2160b5bb19ae09b4e6411ac33fc6a712003c33e03090e2489"
|
checksum = "efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anstream",
|
"anstream",
|
||||||
"anstyle",
|
"anstyle",
|
||||||
|
@ -217,9 +217,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "env_logger"
|
name = "env_logger"
|
||||||
version = "0.11.7"
|
version = "0.11.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c3716d7a920fb4fac5d84e9d4bce8ceb321e9414b4409da61b07b75c1e3d0697"
|
checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anstream",
|
"anstream",
|
||||||
"anstyle",
|
"anstyle",
|
||||||
|
@ -230,9 +230,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "errno"
|
name = "errno"
|
||||||
version = "0.3.10"
|
version = "0.3.11"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
|
checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"windows-sys",
|
"windows-sys",
|
||||||
|
@ -293,9 +293,9 @@ checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jiff"
|
name = "jiff"
|
||||||
version = "0.2.5"
|
version = "0.2.11"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c102670231191d07d37a35af3eb77f1f0dbf7a71be51a962dcd57ea607be7260"
|
checksum = "27e77966151130221b079bcec80f1f34a9e414fa489d99152a201c07fd2182bc"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"jiff-static",
|
"jiff-static",
|
||||||
"log",
|
"log",
|
||||||
|
@ -306,9 +306,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jiff-static"
|
name = "jiff-static"
|
||||||
version = "0.2.5"
|
version = "0.2.11"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4cdde31a9d349f1b1f51a0b3714a5940ac022976f4b49485fc04be052b183b4c"
|
checksum = "97265751f8a9a4228476f2fc17874a9e7e70e96b893368e42619880fe143b48a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
@ -329,15 +329,15 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.171"
|
version = "0.2.172"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6"
|
checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "linux-raw-sys"
|
name = "linux-raw-sys"
|
||||||
version = "0.9.3"
|
version = "0.9.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413"
|
checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "log"
|
name = "log"
|
||||||
|
@ -353,9 +353,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "miette"
|
name = "miette"
|
||||||
version = "7.5.0"
|
version = "7.6.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1a955165f87b37fd1862df2a59547ac542c77ef6d17c666f619d1ad22dd89484"
|
checksum = "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"backtrace",
|
"backtrace",
|
||||||
"backtrace-ext",
|
"backtrace-ext",
|
||||||
|
@ -367,15 +367,14 @@ dependencies = [
|
||||||
"supports-unicode",
|
"supports-unicode",
|
||||||
"terminal_size",
|
"terminal_size",
|
||||||
"textwrap",
|
"textwrap",
|
||||||
"thiserror",
|
|
||||||
"unicode-width 0.1.14",
|
"unicode-width 0.1.14",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "miette-derive"
|
name = "miette-derive"
|
||||||
version = "7.5.0"
|
version = "7.6.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bf45bf44ab49be92fd1227a3be6fc6f617f1a337c06af54981048574d8783147"
|
checksum = "db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
@ -384,9 +383,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "miniz_oxide"
|
name = "miniz_oxide"
|
||||||
version = "0.8.5"
|
version = "0.8.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5"
|
checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"adler2",
|
"adler2",
|
||||||
]
|
]
|
||||||
|
@ -402,9 +401,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "once_cell"
|
name = "once_cell"
|
||||||
version = "1.21.1"
|
version = "1.21.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc"
|
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "os_pipe"
|
name = "os_pipe"
|
||||||
|
@ -439,9 +438,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro2"
|
name = "proc-macro2"
|
||||||
version = "1.0.94"
|
version = "1.0.95"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
|
checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
|
@ -492,9 +491,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustix"
|
name = "rustix"
|
||||||
version = "1.0.3"
|
version = "1.0.7"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96"
|
checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"errno",
|
"errno",
|
||||||
|
@ -534,9 +533,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "shared_child"
|
name = "shared_child"
|
||||||
version = "1.0.1"
|
version = "1.0.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c"
|
checksum = "7e297bd52991bbe0686c086957bee142f13df85d1e79b0b21630a99d374ae9dc"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"windows-sys",
|
"windows-sys",
|
||||||
|
@ -571,9 +570,9 @@ checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "2.0.100"
|
version = "2.0.101"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
|
checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
@ -600,26 +599,6 @@ dependencies = [
|
||||||
"unicode-width 0.2.0",
|
"unicode-width 0.2.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "thiserror"
|
|
||||||
version = "1.0.69"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
|
|
||||||
dependencies = [
|
|
||||||
"thiserror-impl",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "thiserror-impl"
|
|
||||||
version = "1.0.69"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-ident"
|
name = "unicode-ident"
|
||||||
version = "1.0.18"
|
version = "1.0.18"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue