This commit is contained in:
2024-08-28 15:04:53 +03:00
parent 83e94f9051
commit 0b756f3af0
13 changed files with 210 additions and 30 deletions
+33
View File
@@ -0,0 +1,33 @@
#https://xeiaso.net/talks/asg-2023-nixos/ example
{ lib, config, pkgs, options, azos-utils, ... }:
{
options.azos.suites.base.enable = (azos-utils.mkSuiteEnableOption {});
options.azos.suites.face.enable = lib.mkOption {
type = lib.types.bool;
default = true;
};
imports = [
./emacs
./gpg-agent
./name.nix
];
options.azos.python.pkgs = lib.mkOption{
default = [];
type = lib.types.list;
description = "List of packages for python.";
};
options.azos.name = lib.mkOption{
default = "YOUR NAME HERE";
type = lib.types.str;
description = "Your full name.";
};
# config = lib.mkIf cfg.enable {
# # Global suite options
# };
}
@@ -0,0 +1,40 @@
{ lib, config, pkgs, azos-utils, ... }:
let
isEnabled =
config.azos.emacs.enable && config.azos.suites.base.enable;
emacspkgs = config.azos.emacs.emacspkg.pkgs;
in
{
options.azos.emacs.enable = (azos-utils.mkFeatureEnableOption {});
options.azos.emacs.emacspkg = lib.mkOption{
type = lib.types.package;
default = pkgs.emacs;
};
options.azos.emacs.pkgs = lib.mkOption{
default = [];
description = "List of packages for emacs.";
};
config = lib.mkIf isEnabled {
azos.emacs.pkgs = [(emacspkgs.trivialBuild (azos-utils.trivialFromOrg {
pname = "azos-emacs-base";
version = "0.1.6";
src = ./el/azos-emacs-base.org;
packageRequires = [
emacspkgs.evil
emacspkgs.magit
emacspkgs.vterm
];
}))];
home.packages = with pkgs;
[((emacsPackagesFor config.azos.emacs.emacspkg).emacsWithPackages (
config.azos.emacs.pkgs
)) ];
};
imports = [
];
}
@@ -0,0 +1,12 @@
Hello!
#+begin_src emacs-lisp
(use-package evil
:init
:ensure t
:config
(setq evil-want-C-i-jump nil)
(evil-mode 1))
(provide 'azos-emacs-base)
#+end_src
@@ -0,0 +1,14 @@
{ lib, config, pkgs, azos-utils, ... }:
let
isEnabled =
config.azos.gpgagent.enable &&
config.azos.suites.base.enable;
in
{
options.azos.gpgagent.enable = (azos-utils.mkFeatureEnableOption {});
config = lib.mkIf isEnabled {
home.packages = [ pkgs.gnupg ];
home.file.".gnupg/gpg-agent.conf".source = ./gpg-agent.conf;
};
}
@@ -0,0 +1,6 @@
grab
pinentry-program /usr/bin/pinentry
default-cache-ttl 86400
max-cache-ttl 86400
enable-ssh-support
+4
View File
@@ -0,0 +1,4 @@
#https://xeiaso.net/talks/asg-2023-nixos/ example
{ lib, config, pkgs, ... }:{
home.file."name.txt".text = ''${config.azos.name}'';
}