Compare commits
23 commits
master
...
release-20
Author | SHA1 | Date | |
---|---|---|---|
f5395026bf | |||
49706878e1 | |||
c76b158024 | |||
2aa20ae969 | |||
a36c4fe973 | |||
2cfbf16c6d | |||
f019c1cf16 | |||
209566c752 | |||
91bd34620d | |||
f33be4894c | |||
0410410e90 | |||
392c3da3fe | |||
2c7a2f8084 | |||
0a5e0868dc | |||
5aacf64d0e | |||
a4f41474b0 | |||
feb7455112 | |||
b1e0cbad4b | |||
22f6736e62 | |||
57e4bf3707 | |||
e2f7da3a58 | |||
b183e7f77e | |||
63f299b334 |
3
.github/CODEOWNERS
vendored
3
.github/CODEOWNERS
vendored
|
@ -117,6 +117,9 @@
|
|||
|
||||
/modules/programs/powerline-go.nix @DamienCassou
|
||||
|
||||
/modules/programs/rofi-pass.nix @seylerius
|
||||
/tests/modules/programs/rofi-pass @seylerius
|
||||
|
||||
/modules/programs/rtorrent.nix @marsam
|
||||
|
||||
/modules/programs/ssh.nix @rycee
|
||||
|
|
6
.github/workflows/github_pages.yml
vendored
6
.github/workflows/github_pages.yml
vendored
|
@ -11,10 +11,10 @@ jobs:
|
|||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: cachix/install-nix-action@v10
|
||||
- uses: cachix/install-nix-action@v14.1
|
||||
with:
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
- uses: cachix/cachix-action@v6
|
||||
- uses: cachix/cachix-action@v10
|
||||
with:
|
||||
name: nix-community
|
||||
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
|
||||
|
@ -22,7 +22,7 @@ jobs:
|
|||
nix-build -A docs.html
|
||||
cp -r result/share/doc/home-manager public
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
uses: peaceiris/actions-gh-pages@v3.8.0
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./public
|
||||
|
|
9
.github/workflows/test.yml
vendored
9
.github/workflows/test.yml
vendored
|
@ -11,12 +11,13 @@ jobs:
|
|||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: cachix/install-nix-action@v11
|
||||
- uses: cachix/install-nix-action@v14.1
|
||||
with:
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
- uses: cachix/cachix-action@v6
|
||||
nix_path: nixpkgs=channel:nixos-20.09
|
||||
- uses: cachix/cachix-action@v10
|
||||
with:
|
||||
name: nix-community
|
||||
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
|
||||
- run: ./format -c
|
||||
- run: nix-shell . -A install
|
||||
- run: nix-shell --pure --max-jobs 4 tests -A run.all
|
||||
- run: nix-shell --pure tests -A run.all
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
image: nixos/nix:latest
|
||||
|
||||
variables:
|
||||
# Pinned 2020-09-11.
|
||||
NIX_PATH: "nixpkgs=https://github.com/NixOS/nixpkgs/archive/6d4b93323e7f78121f8d6db6c59f3889aa1dd931.tar.gz"
|
||||
NIX_PATH: "nixpkgs=channel:nixos-20.09"
|
||||
|
||||
stages:
|
||||
- test
|
||||
|
|
36
README.md
36
README.md
|
@ -3,8 +3,10 @@ Home Manager using Nix
|
|||
|
||||
This project provides a basic system for managing a user environment
|
||||
using the [Nix][] package manager together with the Nix libraries
|
||||
found in [Nixpkgs][]. Before attempting to use Home Manager please
|
||||
read the warning below.
|
||||
found in [Nixpkgs][]. It allows declarative configuration of user
|
||||
specific (non global) packages and dotfiles.
|
||||
|
||||
Before attempting to use Home Manager please read the warning below.
|
||||
|
||||
For a more systematic overview of Home Manager and its available
|
||||
options, please see the [Home Manager manual][manual].
|
||||
|
@ -12,14 +14,17 @@ options, please see the [Home Manager manual][manual].
|
|||
Words of warning
|
||||
----------------
|
||||
|
||||
This project is under development. I personally use it to manage
|
||||
several user configurations but it may fail catastrophically for you.
|
||||
So beware!
|
||||
Unfortunately, it is quite possible to get difficult to understand
|
||||
errors when working with Home Manager, such as infinite loops with no
|
||||
clear source reference. You should therefore be comfortable using the
|
||||
Nix language and the various tools in the Nix ecosystem. Reading
|
||||
through the [Nix Pills][] document is a good way to familiarize
|
||||
yourself with them.
|
||||
|
||||
Before using Home Manager you should be comfortable using the Nix
|
||||
language and the various tools in the Nix ecosystem. Reading through
|
||||
the [Nix Pills][] document is a good way to familiarize yourself with
|
||||
them.
|
||||
If you are not very familiar with Nix but still want to use Home
|
||||
Manager then you are strongly encouraged to start with a small and
|
||||
very simple configuration and gradually make it more elaborate as you
|
||||
learn.
|
||||
|
||||
In some cases Home Manager cannot detect whether it will overwrite a
|
||||
previous manual configuration. For example, the Gnome Terminal module
|
||||
|
@ -43,8 +48,7 @@ Contact
|
|||
-------
|
||||
|
||||
You can chat with us on IRC in the channel [#home-manager][] on
|
||||
[freenode][]. The [channel logs][] are hosted courtesy of
|
||||
[samueldr][].
|
||||
[OFTC][].
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
@ -333,7 +337,7 @@ as follows:
|
|||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.user = import ./home.nix;
|
||||
home-manager.users.jdoe = import ./home.nix;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
@ -342,6 +346,9 @@ as follows:
|
|||
}
|
||||
```
|
||||
|
||||
Note, the Home Manager library is exported by the flake under
|
||||
`lib.hm`.
|
||||
|
||||
Releases
|
||||
--------
|
||||
|
||||
|
@ -362,9 +369,8 @@ an issue.
|
|||
[Z shell]: http://zsh.sourceforge.net/
|
||||
[manual]: https://nix-community.github.io/home-manager/
|
||||
[configuration options]: https://nix-community.github.io/home-manager/options.html
|
||||
[#home-manager]: https://webchat.freenode.net/?url=irc%3A%2F%2Firc.freenode.net%2Fhome-manager
|
||||
[freenode]: https://freenode.net/
|
||||
[channel logs]: https://logs.nix.samueldr.com/home-manager/
|
||||
[#home-manager]: https://webchat.oftc.net/?channels=home-manager
|
||||
[OFTC]: https://oftc.net/
|
||||
[samueldr]: https://github.com/samueldr/
|
||||
[Nix Pills]: https://nixos.org/nixos/nix-pills/
|
||||
[Nix Flakes]: https://nixos.wiki/wiki/Flakes
|
||||
|
|
|
@ -44,9 +44,10 @@ The first option is good if you only temporarily want to use your clone.
|
|||
|
||||
[[sec-guidelines]]
|
||||
=== Guidelines
|
||||
:irc-home-manager: https://webchat.freenode.net/?url=irc%3A%2F%2Firc.freenode.net%2Fhome-manager
|
||||
:irc-home-manager: https://webchat.oftc.net/?channels=home-manager
|
||||
:valuable-options: https://github.com/Infinisil/rfcs/blob/config-option/rfcs/0042-config-option.md#valuable-options
|
||||
:rfc-42: https://github.com/Infinisil/rfcs/blob/config-option/rfcs/0042-config-option.md
|
||||
:assertions: https://nixos.org/manual/nixos/stable/index.html#sec-assertions
|
||||
|
||||
If your contribution satisfy the following rules then there is a good chance it will be merged without too much trouble. The rules are enforced by the Home Manager maintainers and to a lesser extent the Home Manager CI system.
|
||||
|
||||
|
@ -55,7 +56,9 @@ If you are uncertain how these rules affect the change you would like to make th
|
|||
[[sec-guidelines-back-compat]]
|
||||
==== Maintain backward compatibility
|
||||
|
||||
Your contribution should never cause another user's existing configuration to break. Home Manager is used in many different environments and you should consider how you change may effect others. For example,
|
||||
Your contribution should not cause another user's existing configuration to break unless there is a very good reason and the change should be announced to the user through an {assertions}[assertion] or similar.
|
||||
|
||||
Remember that Home Manager is used in many different environments and you should consider how your change may effect others. For example,
|
||||
|
||||
- Does your change work for people that do not use NixOS? Consider other GNU/Linux distributions and macOS.
|
||||
- Does your change work for people whose configuration is built on one system and deployed on another system?
|
||||
|
|
|
@ -14,10 +14,8 @@
|
|||
</para>
|
||||
<para>
|
||||
If you encounter problems then please reach out on the IRC channel
|
||||
<link xlink:href="https://webchat.freenode.net/?url=irc%3A%2F%2Firc.freenode.net%2Fhome-manager">#home-manager</link>
|
||||
hosted by <link xlink:href="https://freenode.net/">freenode</link>.
|
||||
The <link xlink:href="https://logs.nix.samueldr.com/home-manager/">channel logs</link>
|
||||
are hosted courtesy of <link xlink:href="https://github.com/samueldr/">samueldr</link>.
|
||||
<link xlink:href="https://webchat.oftc.net/?channels=home-manager">#home-manager</link>
|
||||
hosted by <link xlink:href="https://oftc.net/">OFTC</link>.
|
||||
If your problem is caused by a bug in Home Manager then it should
|
||||
be reported on the
|
||||
<link xlink:href="https://github.com/nix-community/home-manager/issues">Home Manager issue tracker</link>.
|
||||
|
|
|
@ -7,12 +7,13 @@
|
|||
darwinModules.home-manager = import ./nix-darwin;
|
||||
|
||||
lib = {
|
||||
hm = import ./modules/lib { lib = nixpkgs.lib; };
|
||||
homeManagerConfiguration = { configuration, system, homeDirectory
|
||||
, username
|
||||
, username, extraSpecialArgs ? { }
|
||||
, pkgs ? builtins.getAttr system nixpkgs.outputs.legacyPackages
|
||||
, check ? true }@args:
|
||||
import ./modules {
|
||||
inherit pkgs check;
|
||||
inherit pkgs check extraSpecialArgs;
|
||||
configuration = { ... }: {
|
||||
imports = [ configuration ];
|
||||
home = { inherit homeDirectory username; };
|
||||
|
|
|
@ -512,6 +512,10 @@ while [[ $# -gt 0 ]]; do
|
|||
-v|--verbose)
|
||||
export VERBOSE=1
|
||||
;;
|
||||
--version)
|
||||
echo 20.09
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
case $COMMAND in
|
||||
expire-generations|remove-generations)
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
# Whether to check that each option has a matching declaration.
|
||||
, check ? true
|
||||
# Extra arguments passed to specialArgs.
|
||||
, extraSpecialArgs ? { }
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
@ -31,7 +33,7 @@ let
|
|||
modules = [ configuration ] ++ hmModules;
|
||||
specialArgs = {
|
||||
modulesPath = builtins.toString ./.;
|
||||
};
|
||||
} // extraSpecialArgs;
|
||||
};
|
||||
|
||||
module = showWarnings (
|
||||
|
|
|
@ -31,4 +31,14 @@
|
|||
github = "olmokramer";
|
||||
githubId = 3612514;
|
||||
};
|
||||
seylerius = {
|
||||
email = "sable@seyleri.us";
|
||||
name = "Sable Seyler";
|
||||
github = "seylerius";
|
||||
githubId = 1145981;
|
||||
keys = [{
|
||||
logkeyid = "rsa4096/0x68BF2EAE6D91CAFF";
|
||||
fingerprint = "F0E0 0311 126A CD72 4392 25E6 68BF 2EAE 6D91 CAFF";
|
||||
}];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1728,6 +1728,13 @@ in
|
|||
A new module is available: 'services.caffeine'.
|
||||
'';
|
||||
}
|
||||
|
||||
{
|
||||
time = "2020-12-18T22:22:25+00:00";
|
||||
message = ''
|
||||
A new module is available: 'programs.rofi.pass'.
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -112,6 +112,7 @@ let
|
|||
(loadModule ./programs/qutebrowser.nix { })
|
||||
(loadModule ./programs/readline.nix { })
|
||||
(loadModule ./programs/rofi.nix { })
|
||||
(loadModule ./programs/rofi-pass.nix { })
|
||||
(loadModule ./programs/rtorrent.nix { })
|
||||
(loadModule ./programs/skim.nix { })
|
||||
(loadModule ./programs/starship.nix { })
|
||||
|
|
|
@ -53,6 +53,7 @@ let
|
|||
google-chrome = "Google/Chrome";
|
||||
google-chrome-beta = "Google/Chrome Beta";
|
||||
google-chrome-dev = "Google/Chrome Dev";
|
||||
brave = "BraveSoftware/Brave-Browser";
|
||||
};
|
||||
|
||||
configDir = if pkgs.stdenv.isDarwin then
|
||||
|
@ -81,6 +82,7 @@ in {
|
|||
browserModule pkgs.google-chrome-beta "Google Chrome Beta" false;
|
||||
google-chrome-dev =
|
||||
browserModule pkgs.google-chrome-dev "Google Chrome Dev" false;
|
||||
brave = browserModule pkgs.brave "Brave Browser" false;
|
||||
};
|
||||
|
||||
config = mkMerge [
|
||||
|
@ -88,5 +90,6 @@ in {
|
|||
(browserConfig config.programs.google-chrome)
|
||||
(browserConfig config.programs.google-chrome-beta)
|
||||
(browserConfig config.programs.google-chrome-dev)
|
||||
(browserConfig config.programs.brave)
|
||||
];
|
||||
}
|
||||
|
|
|
@ -61,8 +61,13 @@ let
|
|||
signModule = types.submodule {
|
||||
options = {
|
||||
key = mkOption {
|
||||
type = types.str;
|
||||
description = "The default GPG signing key fingerprint.";
|
||||
type = types.nullOr types.str;
|
||||
description = ''
|
||||
The default GPG signing key fingerprint.
|
||||
</para><para>
|
||||
Set to <literal>null</literal> to let GnuPG decide what signing key
|
||||
to use depending on commit’s author.
|
||||
'';
|
||||
};
|
||||
|
||||
signByDefault = mkOption {
|
||||
|
@ -297,7 +302,7 @@ in {
|
|||
|
||||
(mkIf (cfg.signing != null) {
|
||||
programs.git.iniContent = {
|
||||
user.signingKey = cfg.signing.key;
|
||||
user.signingKey = mkIf (cfg.signing.key != null) cfg.signing.key;
|
||||
commit.gpgSign = cfg.signing.signByDefault;
|
||||
gpg.program = cfg.signing.gpgPath;
|
||||
};
|
||||
|
|
46
modules/programs/rofi-pass.nix
Normal file
46
modules/programs/rofi-pass.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.programs.rofi.pass;
|
||||
|
||||
in {
|
||||
meta.maintainers = [ maintainers.seylerius ];
|
||||
|
||||
options.programs.rofi.pass = {
|
||||
enable = mkEnableOption "rofi integration with password-store";
|
||||
|
||||
stores = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
description = ''
|
||||
Directory roots of your password-stores.
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = ''
|
||||
URL_field='url'
|
||||
USERNAME_field='user'
|
||||
AUTOTYPE_field='autotype'
|
||||
'';
|
||||
description = ''
|
||||
Extra configuration to be added at to the rofi-pass config file.
|
||||
Additional examples can be found at
|
||||
<link xlink:href="https://github.com/carnager/rofi-pass/blob/master/config.example"/>.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ pkgs.rofi-pass ];
|
||||
|
||||
xdg.configFile."rofi-pass/config".text = optionalString (cfg.stores != [ ])
|
||||
("root=" + (concatStringsSep ":" cfg.stores) + "\n") + cfg.extraConfig
|
||||
+ optionalString (cfg.extraConfig != "") "\n";
|
||||
};
|
||||
}
|
|
@ -118,6 +118,7 @@ in {
|
|||
"emotes"
|
||||
"filesystem"
|
||||
"intl"
|
||||
"legacy"
|
||||
"mimetypes"
|
||||
"places"
|
||||
"status"
|
||||
|
|
|
@ -76,7 +76,6 @@ import nmt {
|
|||
] ++ lib.optionals pkgs.stdenv.hostPlatform.isDarwin [
|
||||
./modules/targets-darwin
|
||||
] ++ lib.optionals pkgs.stdenv.hostPlatform.isLinux [
|
||||
./meta # Suffices to run on one platform.
|
||||
./modules/misc/debug
|
||||
./modules/misc/numlock
|
||||
./modules/misc/pam
|
||||
|
@ -89,6 +88,7 @@ import nmt {
|
|||
./modules/programs/ncmpcpp-linux
|
||||
./modules/programs/neovim # Broken package dependency on Darwin.
|
||||
./modules/programs/rofi
|
||||
./modules/programs/rofi-pass
|
||||
./modules/programs/waybar
|
||||
./modules/services/dropbox
|
||||
./modules/services/emacs
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
{ meta-formatting = ./formatting.nix; }
|
|
@ -1,27 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
pinnedNixpkgs = builtins.fetchTarball {
|
||||
url =
|
||||
"https://github.com/NixOS/nixpkgs/archive/05f0934825c2a0750d4888c4735f9420c906b388.tar.gz";
|
||||
sha256 = "1g8c2w0661qn89ajp44znmwfmghbbiygvdzq0rzlvlpdiz28v6gy";
|
||||
};
|
||||
|
||||
pinnedPkgs = import pinnedNixpkgs { };
|
||||
|
||||
in {
|
||||
config = {
|
||||
nmt.script = ''
|
||||
PATH="${with pinnedPkgs; lib.makeBinPath [ findutils nixfmt ]}:$PATH"
|
||||
cd ${../..}
|
||||
if ! ${pkgs.runtimeShell} format -c; then
|
||||
fail "${''
|
||||
Expected source code to be formatted with nixfmt but it was not.
|
||||
This error can be resolved by running the './format' in the project root directory.''}"
|
||||
fi
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -2,4 +2,6 @@
|
|||
git-with-email = ./git-with-email.nix;
|
||||
git-with-most-options = ./git.nix;
|
||||
git-with-str-extra-config = ./git-with-str-extra-config.nix;
|
||||
git-with-signing-key-id = ./git-with-signing-key-id.nix;
|
||||
git-without-signing-key-id = ./git-without-signing-key-id.nix;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
[commit]
|
||||
gpgSign = true
|
||||
|
||||
[gpg]
|
||||
program = "path-to-gpg"
|
||||
|
||||
[user]
|
||||
email = "user@example.org"
|
||||
name = "John Doe"
|
||||
signingKey = "00112233445566778899AABBCCDDEEFF"
|
22
tests/modules/programs/git/git-with-signing-key-id.nix
Normal file
22
tests/modules/programs/git/git-with-signing-key-id.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ pkgs, ... }: {
|
||||
config = {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "John Doe";
|
||||
userEmail = "user@example.org";
|
||||
|
||||
signing = {
|
||||
gpgPath = "path-to-gpg";
|
||||
key = "00112233445566778899AABBCCDDEEFF";
|
||||
signByDefault = true;
|
||||
};
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/git/config
|
||||
assertFileContent home-files/.config/git/config ${
|
||||
./git-with-signing-key-id-expected.conf
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
[commit]
|
||||
gpgSign = true
|
||||
|
||||
[gpg]
|
||||
program = "path-to-gpg"
|
||||
|
||||
[user]
|
||||
email = "user@example.org"
|
||||
name = "John Doe"
|
22
tests/modules/programs/git/git-without-signing-key-id.nix
Normal file
22
tests/modules/programs/git/git-without-signing-key-id.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ pkgs, ... }: {
|
||||
config = {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "John Doe";
|
||||
userEmail = "user@example.org";
|
||||
|
||||
signing = {
|
||||
gpgPath = "path-to-gpg";
|
||||
key = null;
|
||||
signByDefault = true;
|
||||
};
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/git/config
|
||||
assertFileContent home-files/.config/git/config ${
|
||||
./git-without-signing-key-id-expected.conf
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
4
tests/modules/programs/rofi-pass/default.nix
Normal file
4
tests/modules/programs/rofi-pass/default.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
rofi-pass-root = ./rofi-pass-root.nix;
|
||||
rofi-pass-config = ./rofi-pass-config.nix;
|
||||
}
|
35
tests/modules/programs/rofi-pass/rofi-pass-config.nix
Normal file
35
tests/modules/programs/rofi-pass/rofi-pass-config.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
config = {
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
|
||||
pass = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
# Extra config for rofi-pass
|
||||
xdotool_delay=12
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.overlays = [
|
||||
(self: super: { rofi-pass = pkgs.writeScriptBin "dummy-rofi-pass" ""; })
|
||||
];
|
||||
|
||||
nmt.script = ''
|
||||
assertFileContent \
|
||||
home-files/.config/rofi-pass/config \
|
||||
${
|
||||
pkgs.writeText "rofi-pass-expected-config" ''
|
||||
# Extra config for rofi-pass
|
||||
xdotool_delay=12
|
||||
|
||||
''
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
30
tests/modules/programs/rofi-pass/rofi-pass-root.nix
Normal file
30
tests/modules/programs/rofi-pass/rofi-pass-root.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
config = {
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
|
||||
pass = {
|
||||
enable = true;
|
||||
stores = [ "~/.local/share/password-store" ];
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.overlays = [
|
||||
(self: super: { rofi-pass = pkgs.writeScriptBin "dummy-rofi-pass" ""; })
|
||||
];
|
||||
|
||||
nmt.script = ''
|
||||
assertFileContent \
|
||||
home-files/.config/rofi-pass/config \
|
||||
${
|
||||
pkgs.writeText "rofi-pass-expected-config" ''
|
||||
root=~/.local/share/password-store
|
||||
''
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue