mirror of
https://github.com/nix-community/home-manager
synced 2024-11-30 06:59:45 +01:00
pls: add module (#3285)
This commit is contained in:
parent
864ff685fe
commit
e7be7c4688
9 changed files with 150 additions and 0 deletions
3
.github/CODEOWNERS
vendored
3
.github/CODEOWNERS
vendored
|
@ -243,6 +243,9 @@ Makefile @thiagokokada
|
||||||
|
|
||||||
/modules/programs/piston-cli.nix @ethancedwards8
|
/modules/programs/piston-cli.nix @ethancedwards8
|
||||||
|
|
||||||
|
/modules/programs/pls.nix @arjan-s
|
||||||
|
/tests/modules/programs/pls @arjan-s
|
||||||
|
|
||||||
/modules/programs/powerline-go.nix @DamienCassou
|
/modules/programs/powerline-go.nix @DamienCassou
|
||||||
|
|
||||||
/modules/programs/pubs.nix @loicreynier
|
/modules/programs/pubs.nix @loicreynier
|
||||||
|
|
|
@ -719,6 +719,13 @@ in
|
||||||
A new module is available: 'programs.tmate'.
|
A new module is available: 'programs.tmate'.
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
time = "2022-09-29T13:43:02+00:00";
|
||||||
|
message = ''
|
||||||
|
A new module is available: 'programs.pls'.
|
||||||
|
'';
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,6 +142,7 @@ let
|
||||||
./programs/pidgin.nix
|
./programs/pidgin.nix
|
||||||
./programs/pistol.nix
|
./programs/pistol.nix
|
||||||
./programs/piston-cli.nix
|
./programs/piston-cli.nix
|
||||||
|
./programs/pls.nix
|
||||||
./programs/powerline-go.nix
|
./programs/powerline-go.nix
|
||||||
./programs/pubs.nix
|
./programs/pubs.nix
|
||||||
./programs/pylint.nix
|
./programs/pylint.nix
|
||||||
|
|
36
modules/programs/pls.nix
Normal file
36
modules/programs/pls.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
cfg = config.programs.pls;
|
||||||
|
|
||||||
|
aliases = {
|
||||||
|
ls = "${cfg.package}/bin/pls";
|
||||||
|
ll =
|
||||||
|
"${cfg.package}/bin/pls -d perms -d user -d group -d size -d mtime -d git";
|
||||||
|
};
|
||||||
|
|
||||||
|
in {
|
||||||
|
meta.maintainers = [ hm.maintainers.kalhauge ];
|
||||||
|
|
||||||
|
options.programs.pls = {
|
||||||
|
enable =
|
||||||
|
mkEnableOption "pls, a modern replacement for <command>ls</command>";
|
||||||
|
|
||||||
|
package = mkPackageOption pkgs "pls" { };
|
||||||
|
|
||||||
|
enableAliases = mkEnableOption "recommended pls aliases";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home.packages = [ cfg.package ];
|
||||||
|
|
||||||
|
programs.bash.shellAliases = mkIf cfg.enableAliases aliases;
|
||||||
|
|
||||||
|
programs.fish.shellAliases = mkIf cfg.enableAliases aliases;
|
||||||
|
|
||||||
|
programs.zsh.shellAliases = mkIf cfg.enableAliases aliases;
|
||||||
|
};
|
||||||
|
}
|
|
@ -102,6 +102,7 @@ import nmt {
|
||||||
./modules/programs/pandoc
|
./modules/programs/pandoc
|
||||||
./modules/programs/pet
|
./modules/programs/pet
|
||||||
./modules/programs/pistol
|
./modules/programs/pistol
|
||||||
|
./modules/programs/pls
|
||||||
./modules/programs/powerline-go
|
./modules/programs/powerline-go
|
||||||
./modules/programs/pubs
|
./modules/programs/pubs
|
||||||
./modules/programs/qutebrowser
|
./modules/programs/qutebrowser
|
||||||
|
|
29
tests/modules/programs/pls/bash.nix
Normal file
29
tests/modules/programs/pls/bash.nix
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
programs = {
|
||||||
|
bash.enable = true;
|
||||||
|
|
||||||
|
pls = {
|
||||||
|
enable = true;
|
||||||
|
enableAliases = true;
|
||||||
|
package = config.lib.test.mkStubPackage { outPath = "@pls@"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
test.stubs.pls = { };
|
||||||
|
|
||||||
|
nmt.script = ''
|
||||||
|
assertFileExists home-files/.bashrc
|
||||||
|
assertFileContains \
|
||||||
|
home-files/.bashrc \
|
||||||
|
"alias ls='@pls@/bin/pls'"
|
||||||
|
assertFileContains \
|
||||||
|
home-files/.bashrc \
|
||||||
|
"alias ll='@pls@/bin/pls -d perms -d user -d group -d size -d mtime -d git'"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
5
tests/modules/programs/pls/default.nix
Normal file
5
tests/modules/programs/pls/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
pls-bash = ./bash.nix;
|
||||||
|
pls-fish = ./fish.nix;
|
||||||
|
pls-zsh = ./zsh.nix;
|
||||||
|
}
|
36
tests/modules/programs/pls/fish.nix
Normal file
36
tests/modules/programs/pls/fish.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
programs = {
|
||||||
|
fish.enable = true;
|
||||||
|
|
||||||
|
pls = {
|
||||||
|
enable = true;
|
||||||
|
enableAliases = true;
|
||||||
|
package = config.lib.test.mkStubPackage { outPath = "@pls@"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Needed to avoid error with dummy fish package.
|
||||||
|
xdg.dataFile."fish/home-manager_generated_completions".source =
|
||||||
|
mkForce (builtins.toFile "empty" "");
|
||||||
|
|
||||||
|
test.stubs = {
|
||||||
|
pls = { };
|
||||||
|
fish = { };
|
||||||
|
};
|
||||||
|
|
||||||
|
nmt.script = ''
|
||||||
|
assertFileExists home-files/.config/fish/config.fish
|
||||||
|
assertFileContains \
|
||||||
|
home-files/.config/fish/config.fish \
|
||||||
|
"alias ls '@pls@/bin/pls'"
|
||||||
|
assertFileContains \
|
||||||
|
home-files/.config/fish/config.fish \
|
||||||
|
"alias ll '@pls@/bin/pls -d perms -d user -d group -d size -d mtime -d git'"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
32
tests/modules/programs/pls/zsh.nix
Normal file
32
tests/modules/programs/pls/zsh.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
programs = {
|
||||||
|
zsh.enable = true;
|
||||||
|
|
||||||
|
pls = {
|
||||||
|
enable = true;
|
||||||
|
enableAliases = true;
|
||||||
|
package = config.lib.test.mkStubPackage { outPath = "@pls@"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
test.stubs = {
|
||||||
|
pls = { };
|
||||||
|
zsh = { };
|
||||||
|
};
|
||||||
|
|
||||||
|
nmt.script = ''
|
||||||
|
assertFileExists home-files/.zshrc
|
||||||
|
assertFileContains \
|
||||||
|
home-files/.zshrc \
|
||||||
|
"alias ls='@pls@/bin/pls'"
|
||||||
|
assertFileContains \
|
||||||
|
home-files/.zshrc \
|
||||||
|
"alias ll='@pls@/bin/pls -d perms -d user -d group -d size -d mtime -d git'"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue