Let alejandra do it’s thing
This commit is contained in:
parent
91e3578346
commit
bdc8882022
|
@ -157,13 +157,13 @@ in {
|
||||||
(import ./roles/state.nix "default")
|
(import ./roles/state.nix "default")
|
||||||
];
|
];
|
||||||
hera.default = makeConfig "hera" (on-my-machines
|
hera.default = makeConfig "hera" (on-my-machines
|
||||||
++ [
|
++ [
|
||||||
./roles/fetch-banking-timer.nix
|
./roles/fetch-banking-timer.nix
|
||||||
./roles/weechat
|
./roles/weechat
|
||||||
./roles/mail-sort.nix
|
./roles/mail-sort.nix
|
||||||
./roles/mail2rss.nix
|
./roles/mail2rss.nix
|
||||||
./roles/headless-mpd.nix
|
./roles/headless-mpd.nix
|
||||||
./roles/headless.nix
|
./roles/headless.nix
|
||||||
./roles/create-plans.nix
|
./roles/create-plans.nix
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,12 +20,14 @@
|
||||||
inherit
|
inherit
|
||||||
(pkgs)
|
(pkgs)
|
||||||
# web
|
# web
|
||||||
|
|
||||||
chromium
|
chromium
|
||||||
mumble
|
mumble
|
||||||
upower
|
upower
|
||||||
speedtest-cli
|
speedtest-cli
|
||||||
acpi
|
acpi
|
||||||
# tools & office
|
# tools & office
|
||||||
|
|
||||||
feh
|
feh
|
||||||
gimp
|
gimp
|
||||||
imagemagick
|
imagemagick
|
||||||
|
@ -38,6 +40,7 @@
|
||||||
beets
|
beets
|
||||||
zbar
|
zbar
|
||||||
# media
|
# media
|
||||||
|
|
||||||
ncpamixer
|
ncpamixer
|
||||||
pavucontrol
|
pavucontrol
|
||||||
playerctl
|
playerctl
|
||||||
|
|
|
@ -35,10 +35,13 @@
|
||||||
rust-analyzer
|
rust-analyzer
|
||||||
taplo
|
taplo
|
||||||
# toml
|
# toml
|
||||||
|
|
||||||
nil
|
nil
|
||||||
# nix
|
# nix
|
||||||
|
|
||||||
texlab
|
texlab
|
||||||
# latex
|
# latex
|
||||||
|
|
||||||
lean
|
lean
|
||||||
yaml-language-server
|
yaml-language-server
|
||||||
;
|
;
|
||||||
|
@ -100,61 +103,88 @@ in {
|
||||||
inherit
|
inherit
|
||||||
(pkgs.vimPlugins)
|
(pkgs.vimPlugins)
|
||||||
# coc-tabnine (TODO: Why doesn‘t it work?)
|
# coc-tabnine (TODO: Why doesn‘t it work?)
|
||||||
|
|
||||||
# TODO: tabnine config in home-manager
|
# TODO: tabnine config in home-manager
|
||||||
|
|
||||||
# TODO: tabnine lsp: nix, rust, pandoc/latex lsp? was noch?
|
# TODO: tabnine lsp: nix, rust, pandoc/latex lsp? was noch?
|
||||||
|
|
||||||
# ===
|
# ===
|
||||||
|
|
||||||
# Basic IDE plugins
|
# Basic IDE plugins
|
||||||
|
|
||||||
coc-nvim
|
coc-nvim
|
||||||
airline
|
airline
|
||||||
# same word highlighting when not supported by language
|
# same word highlighting when not supported by language
|
||||||
|
|
||||||
coc-highlight
|
coc-highlight
|
||||||
coc-explorer
|
coc-explorer
|
||||||
# searches
|
# searches
|
||||||
|
|
||||||
coc-fzf
|
coc-fzf
|
||||||
fzf-vim
|
fzf-vim
|
||||||
# general whitespace
|
# general whitespace
|
||||||
|
|
||||||
vim-trailing-whitespace
|
vim-trailing-whitespace
|
||||||
vim-autoformat
|
vim-autoformat
|
||||||
# Git
|
# Git
|
||||||
|
|
||||||
coc-git
|
coc-git
|
||||||
# statusline, numberline and explorer infos
|
# statusline, numberline and explorer infos
|
||||||
|
|
||||||
fugitive
|
fugitive
|
||||||
# various git commands
|
# various git commands
|
||||||
|
|
||||||
# Commenting and Uncommenting
|
# Commenting and Uncommenting
|
||||||
|
|
||||||
nerdcommenter
|
nerdcommenter
|
||||||
# Theme
|
# Theme
|
||||||
|
|
||||||
papercolor-theme
|
papercolor-theme
|
||||||
vim-airline-themes
|
vim-airline-themes
|
||||||
LanguageTool-nvim
|
LanguageTool-nvim
|
||||||
vim-css-color
|
vim-css-color
|
||||||
vista-vim
|
vista-vim
|
||||||
# ===
|
# ===
|
||||||
|
|
||||||
# Languages
|
# Languages
|
||||||
|
|
||||||
# haskell syntax highlighting
|
# haskell syntax highlighting
|
||||||
|
|
||||||
haskell-vim
|
haskell-vim
|
||||||
vim-hoogle
|
vim-hoogle
|
||||||
# nix syntax highlighting
|
# nix syntax highlighting
|
||||||
|
|
||||||
vim-nix
|
vim-nix
|
||||||
vim-markdown
|
vim-markdown
|
||||||
# latex
|
# latex
|
||||||
|
|
||||||
vimtex
|
vimtex
|
||||||
coc-vimtex
|
coc-vimtex
|
||||||
# not sure if I need two
|
# not sure if I need two
|
||||||
|
|
||||||
# ledger
|
# ledger
|
||||||
|
|
||||||
vim-ledger
|
vim-ledger
|
||||||
# rust
|
# rust
|
||||||
|
|
||||||
coc-rls
|
coc-rls
|
||||||
# python
|
# python
|
||||||
|
|
||||||
coc-python
|
coc-python
|
||||||
# css
|
# css
|
||||||
|
|
||||||
coc-css
|
coc-css
|
||||||
# yaml
|
# yaml
|
||||||
|
|
||||||
coc-yaml
|
coc-yaml
|
||||||
# json
|
# json
|
||||||
|
|
||||||
coc-json
|
coc-json
|
||||||
# html
|
# html
|
||||||
|
|
||||||
coc-html
|
coc-html
|
||||||
# dhall
|
# dhall
|
||||||
|
|
||||||
dhall-vim
|
dhall-vim
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
|
|
|
@ -8,11 +8,11 @@ with lib; let
|
||||||
weechat = pkgs.wrapWeechat pkgs.weechat-unwrapped {
|
weechat = pkgs.wrapWeechat pkgs.weechat-unwrapped {
|
||||||
configure = {availablePlugins, ...}: {
|
configure = {availablePlugins, ...}: {
|
||||||
plugins = builtins.attrValues (availablePlugins
|
plugins = builtins.attrValues (availablePlugins
|
||||||
// {
|
// {
|
||||||
python =
|
python =
|
||||||
availablePlugins.python.withPackages
|
availablePlugins.python.withPackages
|
||||||
(_: [pkgs.weechatScripts.weechat-matrix]);
|
(_: [pkgs.weechatScripts.weechat-matrix]);
|
||||||
});
|
});
|
||||||
scripts = [pkgs.weechatScripts.weechat-matrix];
|
scripts = [pkgs.weechatScripts.weechat-matrix];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -74,12 +74,12 @@ in {
|
||||||
[server]
|
[server]
|
||||||
${
|
${
|
||||||
lib.concatStringsSep "\n" (lib.mapAttrsToList
|
lib.concatStringsSep "\n" (lib.mapAttrsToList
|
||||||
(server: serverConfig: ''
|
(server: serverConfig: ''
|
||||||
${server}.address = "${serverConfig.address}"
|
${server}.address = "${serverConfig.address}"
|
||||||
${server}.autoconnect = on
|
${server}.autoconnect = on
|
||||||
${server}.username = "${serverConfig.user}"
|
${server}.username = "${serverConfig.user}"
|
||||||
${server}.password = "${serverConfig.password}"
|
${server}.password = "${serverConfig.password}"
|
||||||
'') (pkgs.privateValue {} "weechat/matrix"))
|
'') (pkgs.privateValue {} "weechat/matrix"))
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
18
home.nix
18
home.nix
|
@ -3,12 +3,12 @@ let
|
||||||
modes = import home-manager/machines.nix;
|
modes = import home-manager/machines.nix;
|
||||||
in
|
in
|
||||||
lib.listToAttrs (lib.flatten (lib.mapAttrsToList
|
lib.listToAttrs (lib.flatten (lib.mapAttrsToList
|
||||||
(
|
(
|
||||||
host:
|
host:
|
||||||
lib.mapAttrsToList
|
lib.mapAttrsToList
|
||||||
(mode: config: {
|
(mode: config: {
|
||||||
name = "${host}-${mode}";
|
name = "${host}-${mode}";
|
||||||
value = config;
|
value = config;
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
modes))
|
modes))
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
"nix-output-monitor": {
|
"nix-output-monitor": {
|
||||||
"branch": "main",
|
"branch": "main",
|
||||||
"repo": "git@hera.m-0.eu:nix-output-monitor",
|
"repo": "git@hera.m-0.eu:nix-output-monitor",
|
||||||
"rev": "a5f5f07de6c62b5b9dad32be2b0b6e0bab90f9ed",
|
"rev": "b29729f14621d13f9c8fa2b54ae00b052fbc30d9",
|
||||||
"type": "git"
|
"type": "git"
|
||||||
},
|
},
|
||||||
"nixos-19.09": {
|
"nixos-19.09": {
|
||||||
|
@ -73,10 +73,10 @@
|
||||||
"homepage": "",
|
"homepage": "",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "1108c1b8614017c8b52005054fd27a00e4feb51b",
|
"rev": "0099253ad0b5283f06ffe31cf010af3f9ad7837d",
|
||||||
"sha256": "05xdslgfbk6s1szswdl9iqdkc738xi2vvvhs10n1h8clvd2ynx0f",
|
"sha256": "1mav9fdr5rjipl97jp5m7cb44kx2myh7p69xl6ssmjdm87ng4ihw",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/nixos/nixos-hardware/archive/1108c1b8614017c8b52005054fd27a00e4feb51b.tar.gz",
|
"url": "https://github.com/nixos/nixos-hardware/archive/0099253ad0b5283f06ffe31cf010af3f9ad7837d.tar.gz",
|
||||||
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
},
|
},
|
||||||
"nixos-mailserver": {
|
"nixos-mailserver": {
|
||||||
|
@ -91,10 +91,10 @@
|
||||||
"homepage": null,
|
"homepage": null,
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "cf63ade6f74bbc9d2a017290f1b2e33e8fbfa70a",
|
"rev": "68ba2f40991e79a2e4e5c5b242e175a1ad270ab9",
|
||||||
"sha256": "1aw4avc6mp3v1gwjlax6yn8984c92y56s4h7qrygxagpchkwq06j",
|
"sha256": "1rj54dsa1qliiwsk0jjcc0i8szm6fc6zm6lpbsr65hk0abs8fsr1",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/cf63ade6f74bbc9d2a017290f1b2e33e8fbfa70a.tar.gz",
|
"url": "https://github.com/NixOS/nixpkgs/archive/68ba2f40991e79a2e4e5c5b242e175a1ad270ab9.tar.gz",
|
||||||
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
},
|
},
|
||||||
"nixos-unstable": {
|
"nixos-unstable": {
|
||||||
|
@ -103,10 +103,10 @@
|
||||||
"homepage": null,
|
"homepage": null,
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "af50806f7c6ab40df3e6b239099e8f8385f6c78b",
|
"rev": "27ccd29078f974ddbdd7edc8e38c8c8ae003c877",
|
||||||
"sha256": "19sgfjdzqkigajbns6jiyqr6yvacqjx5xqbz6p6aghzjfblb2nnn",
|
"sha256": "1lsjmwbs3nfmknnvqiqbhh103qzxyy3z1950vqmzgn5m0zx7048h",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/af50806f7c6ab40df3e6b239099e8f8385f6c78b.tar.gz",
|
"url": "https://github.com/NixOS/nixpkgs/archive/27ccd29078f974ddbdd7edc8e38c8c8ae003c877.tar.gz",
|
||||||
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
},
|
},
|
||||||
"nixpkgs-bot": {
|
"nixpkgs-bot": {
|
||||||
|
@ -121,10 +121,10 @@
|
||||||
"homepage": "",
|
"homepage": "",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "pre-commit-hooks.nix",
|
"repo": "pre-commit-hooks.nix",
|
||||||
"rev": "e6c8efee1c108bb27522b9fd25b1cd0eb3288681",
|
"rev": "078b0dee35e2da01334af682ec347463b70a9986",
|
||||||
"sha256": "0kj05b4kbhi0vkgw73vk2ikblhw6yxdhpxv99cr3acv8mbxjxd7i",
|
"sha256": "10d2bylrxgzhff3iw8dawgp181clh2kfsa6vf3br2n6bhixd2h0l",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/cachix/pre-commit-hooks.nix/archive/e6c8efee1c108bb27522b9fd25b1cd0eb3288681.tar.gz",
|
"url": "https://github.com/cachix/pre-commit-hooks.nix/archive/078b0dee35e2da01334af682ec347463b70a9986.tar.gz",
|
||||||
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
},
|
},
|
||||||
"wizards-dialog": {
|
"wizards-dialog": {
|
||||||
|
|
|
@ -96,10 +96,10 @@ in {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
// lib.listToAttrs (map (name: {
|
// lib.listToAttrs (map (name: {
|
||||||
inherit name;
|
inherit name;
|
||||||
value = {serviceConfig.Type = "oneshot";};
|
value = {serviceConfig.Type = "oneshot";};
|
||||||
})
|
})
|
||||||
backupJobNames);
|
backupJobNames);
|
||||||
services = {
|
services = {
|
||||||
postgresql = {
|
postgresql = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -45,7 +45,7 @@ in {
|
||||||
cert = "${key_dir}/fullchain.pem";
|
cert = "${key_dir}/fullchain.pem";
|
||||||
static-auth-secret =
|
static-auth-secret =
|
||||||
(pkgs.privateValue {turn_shared_secret = "";}
|
(pkgs.privateValue {turn_shared_secret = "";}
|
||||||
"matrix/server-secrets")
|
"matrix/server-secrets")
|
||||||
.turn_shared_secret;
|
.turn_shared_secret;
|
||||||
realm = fqdn;
|
realm = fqdn;
|
||||||
listening-ips = [config.m-0.hosts.hera config.m-0.hosts.hera-v4];
|
listening-ips = [config.m-0.hosts.hera config.m-0.hosts.hera-v4];
|
||||||
|
|
|
@ -20,21 +20,21 @@
|
||||||
Matrix = {
|
Matrix = {
|
||||||
Mappings = [
|
Mappings = [
|
||||||
(default_mailbox
|
(default_mailbox
|
||||||
// {
|
// {
|
||||||
MailboxName = "notify";
|
MailboxName = "notify";
|
||||||
MatrixRoomId = "!kTKVQjRwxjaoMQmcve:maralorn.de";
|
MatrixRoomId = "!kTKVQjRwxjaoMQmcve:maralorn.de";
|
||||||
})
|
})
|
||||||
(default_mailbox
|
(default_mailbox
|
||||||
// {
|
// {
|
||||||
MailboxName = "subjects";
|
MailboxName = "subjects";
|
||||||
MatrixRoomId = "!kTKVQjRwxjaoMQmcve:maralorn.de";
|
MatrixRoomId = "!kTKVQjRwxjaoMQmcve:maralorn.de";
|
||||||
IgnoreBody = true;
|
IgnoreBody = true;
|
||||||
})
|
})
|
||||||
(default_mailbox
|
(default_mailbox
|
||||||
// {
|
// {
|
||||||
MailboxName = "weather";
|
MailboxName = "weather";
|
||||||
MatrixRoomId = "!ELeFcSrHXgMqOmwnxg:maralorn.de";
|
MatrixRoomId = "!ELeFcSrHXgMqOmwnxg:maralorn.de";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
Misc = {Debug = true;};
|
Misc = {Debug = true;};
|
||||||
|
|
|
@ -21,14 +21,19 @@
|
||||||
(pkgs)
|
(pkgs)
|
||||||
nerdfonts
|
nerdfonts
|
||||||
# For all my terminal needs.
|
# For all my terminal needs.
|
||||||
|
|
||||||
libertinus
|
libertinus
|
||||||
# nice text font
|
# nice text font
|
||||||
|
|
||||||
material-icons
|
material-icons
|
||||||
# icons in my app
|
# icons in my app
|
||||||
|
|
||||||
b612
|
b612
|
||||||
# sans font, very good for displays
|
# sans font, very good for displays
|
||||||
|
|
||||||
noto-fonts
|
noto-fonts
|
||||||
# for unicode fallback
|
# for unicode fallback
|
||||||
|
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -40,9 +45,9 @@
|
||||||
font_sources = map (v: v.src) (lib.filter (v: v ? src) config.fonts.fonts);
|
font_sources = map (v: v.src) (lib.filter (v: v ? src) config.fonts.fonts);
|
||||||
in
|
in
|
||||||
builtins.listToAttrs (lib.imap0
|
builtins.listToAttrs (lib.imap0
|
||||||
(n: source:
|
(n: source:
|
||||||
lib.nameValuePair "src-cache/fonts/${toString n}" {
|
lib.nameValuePair "src-cache/fonts/${toString n}" {
|
||||||
inherit source;
|
inherit source;
|
||||||
})
|
})
|
||||||
font_sources);
|
font_sources);
|
||||||
}
|
}
|
||||||
|
|
|
@ -378,26 +378,26 @@ in {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
++ (map
|
++ (map
|
||||||
(minutes: {
|
(minutes: {
|
||||||
alias = "Warnung bei ${minutes} Minuten offenem Fenster oder offener Tür";
|
alias = "Warnung bei ${minutes} Minuten offenem Fenster oder offener Tür";
|
||||||
trigger =
|
trigger =
|
||||||
map
|
map
|
||||||
(name:
|
(name:
|
||||||
triggers.stateTrigger name
|
triggers.stateTrigger name
|
||||||
// {
|
// {
|
||||||
to = "on";
|
to = "on";
|
||||||
for = "00:${minutes}:00";
|
for = "00:${minutes}:00";
|
||||||
})
|
})
|
||||||
fenster;
|
fenster;
|
||||||
#condition = {
|
#condition = {
|
||||||
# condition = "numeric_state";
|
# condition = "numeric_state";
|
||||||
# entity_id = "weather.dwd_darmstadt";
|
# entity_id = "weather.dwd_darmstadt";
|
||||||
# attribute = "temperature";
|
# attribute = "temperature";
|
||||||
# below = 15;
|
# below = 15;
|
||||||
#};
|
#};
|
||||||
action = [(actions.notify "{{ trigger.to_state.name }} ist seit mehr als ${minutes} Minuten offen.")];
|
action = [(actions.notify "{{ trigger.to_state.name }} ist seit mehr als ${minutes} Minuten offen.")];
|
||||||
})
|
})
|
||||||
(map toString [10 20 30 40 50 60]));
|
(map toString [10 20 30 40 50 60]));
|
||||||
history = {};
|
history = {};
|
||||||
image = {};
|
image = {};
|
||||||
sun = {};
|
sun = {};
|
||||||
|
|
|
@ -30,15 +30,15 @@
|
||||||
environment = {
|
environment = {
|
||||||
# Put these into an extra file so the essential packages can also be included on non selfadminstrated systems from home-manager
|
# Put these into an extra file so the essential packages can also be included on non selfadminstrated systems from home-manager
|
||||||
systemPackages = builtins.attrValues ({
|
systemPackages = builtins.attrValues ({
|
||||||
inherit
|
inherit
|
||||||
(import ../../../lib/update-system.nix {
|
(import ../../../lib/update-system.nix {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
inherit (config.system.build) nixos-rebuild;
|
inherit (config.system.build) nixos-rebuild;
|
||||||
})
|
})
|
||||||
update-system
|
update-system
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
// pkgs.system-pkgs);
|
// pkgs.system-pkgs);
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|
|
@ -93,8 +93,10 @@ self: super: {
|
||||||
(self)
|
(self)
|
||||||
esphome
|
esphome
|
||||||
# To flash devices
|
# To flash devices
|
||||||
|
|
||||||
esptool
|
esptool
|
||||||
# provides esptool.py
|
# provides esptool.py
|
||||||
|
|
||||||
dconf
|
dconf
|
||||||
lm_sensors
|
lm_sensors
|
||||||
xwayland
|
xwayland
|
||||||
|
|
Loading…
Reference in a new issue