2020-05-16 11:20:32 +00:00
|
|
|
let
|
2022-03-08 01:42:46 +00:00
|
|
|
restrictedPages =
|
|
|
|
[
|
|
|
|
"reddit.com"
|
|
|
|
"github.com"
|
|
|
|
"*.ccc.de"
|
|
|
|
"haskell.org"
|
|
|
|
"*.haskell.org"
|
|
|
|
"*.nixos.org"
|
|
|
|
"nixos.org"
|
|
|
|
"matrix.org"
|
|
|
|
"element.io"
|
|
|
|
"youtube.*"
|
|
|
|
"*.element.io"
|
|
|
|
"twitter.com"
|
|
|
|
]
|
|
|
|
++ newsPages;
|
2021-10-16 21:14:30 +00:00
|
|
|
newsPages = [
|
2022-11-13 17:20:32 +00:00
|
|
|
"chaos.social"
|
2021-07-09 11:48:25 +00:00
|
|
|
"zeit.de"
|
|
|
|
"heise.de"
|
|
|
|
"spiegel.de"
|
2021-10-16 21:14:30 +00:00
|
|
|
"taz.de"
|
|
|
|
"faz.net"
|
|
|
|
"bild.de"
|
2021-07-09 11:48:25 +00:00
|
|
|
"xkcd.com"
|
|
|
|
"smbc-comics.com"
|
|
|
|
"tagesschau.de"
|
|
|
|
"welt.de"
|
|
|
|
"ndr.de"
|
|
|
|
"ard.de"
|
|
|
|
"zdf.de"
|
|
|
|
];
|
2021-10-16 21:14:30 +00:00
|
|
|
|
2022-03-08 02:19:09 +00:00
|
|
|
makeConfig = hostName: imports: _: {
|
2022-03-08 01:42:46 +00:00
|
|
|
imports = imports ++ [./roles/default.nix];
|
|
|
|
m-0.hostName = hostName;
|
2022-03-08 02:19:09 +00:00
|
|
|
nixpkgs.overlays = [(_: _: (import ../channels.nix)."${hostName}")];
|
2022-03-08 01:42:46 +00:00
|
|
|
};
|
|
|
|
makeAutostart = name: {config, ...}: {
|
|
|
|
config.xdg.configFile."autostart/${name}.desktop".source = "${config.home.path}/share/applications/${name}.desktop";
|
|
|
|
};
|
2021-07-30 21:09:20 +00:00
|
|
|
on-my-machines = [
|
|
|
|
./roles/on-my-machine.nix
|
|
|
|
./roles/mail.nix
|
2022-12-02 02:09:19 +00:00
|
|
|
./roles/firefox.nix
|
2021-07-30 21:09:20 +00:00
|
|
|
./roles/kassandra.nix
|
|
|
|
./roles/taskwarrior.nix
|
|
|
|
./roles/vdirsyncer.nix
|
|
|
|
./roles/khard.nix
|
|
|
|
./roles/khal.nix
|
|
|
|
./roles/mode-switching.nix
|
2021-08-03 21:23:15 +00:00
|
|
|
./roles/systemd-exporter.nix
|
2021-07-30 21:09:20 +00:00
|
|
|
];
|
2022-03-08 01:42:46 +00:00
|
|
|
daily-driver = name: extra: let
|
|
|
|
all =
|
|
|
|
extra
|
|
|
|
++ on-my-machines
|
|
|
|
++ [
|
2022-03-22 14:28:30 +00:00
|
|
|
(makeAutostart "kassandra2")
|
2021-07-30 21:09:20 +00:00
|
|
|
(makeAutostart "unlock-ssh")
|
2021-07-09 11:48:25 +00:00
|
|
|
./roles/beets.nix
|
2021-07-30 21:09:20 +00:00
|
|
|
./roles/desktop-items.nix
|
|
|
|
./roles/desktop.nix
|
2021-07-09 11:48:25 +00:00
|
|
|
./roles/git-sign.nix
|
2021-07-30 21:09:20 +00:00
|
|
|
./roles/gnome.nix
|
2022-07-03 00:32:23 +00:00
|
|
|
./roles/status-script.nix
|
2021-07-09 11:48:25 +00:00
|
|
|
./roles/hoogle.nix
|
2022-03-07 18:40:12 +00:00
|
|
|
./roles/terminal.nix
|
2021-07-09 11:48:25 +00:00
|
|
|
./roles/mpclient.nix
|
|
|
|
./roles/mpd.nix
|
|
|
|
./roles/pythia.nix
|
|
|
|
./roles/research.nix
|
2022-12-05 17:38:36 +00:00
|
|
|
./roles/night-shutdown.nix
|
2021-07-09 11:48:25 +00:00
|
|
|
./roles/tinkering.nix
|
2021-08-03 21:46:29 +00:00
|
|
|
./roles/wallpaper.nix
|
2022-02-16 23:43:20 +00:00
|
|
|
./roles/zettelkasten.nix
|
2022-11-20 21:18:52 +00:00
|
|
|
./roles/kitty.nix
|
2021-07-09 11:48:25 +00:00
|
|
|
];
|
2022-03-08 01:42:46 +00:00
|
|
|
orgaExtra = [
|
|
|
|
./roles/mail-client.nix
|
|
|
|
./roles/pythia.nix
|
|
|
|
./roles/tinkering.nix
|
|
|
|
];
|
|
|
|
blockServer = import ./roles/block-server.nix;
|
|
|
|
in {
|
|
|
|
klausur = makeConfig name (
|
|
|
|
all
|
|
|
|
++ [
|
|
|
|
(blockServer restrictedPages)
|
|
|
|
]
|
|
|
|
);
|
|
|
|
orga = makeConfig name (
|
|
|
|
all
|
|
|
|
++ orgaExtra
|
|
|
|
++ [
|
|
|
|
(blockServer restrictedPages)
|
|
|
|
]
|
|
|
|
);
|
|
|
|
communication = makeConfig name (
|
|
|
|
all
|
|
|
|
++ orgaExtra
|
|
|
|
++ [
|
|
|
|
./roles/chat.nix
|
|
|
|
(blockServer restrictedPages)
|
|
|
|
]
|
|
|
|
);
|
|
|
|
code = makeConfig name (
|
|
|
|
all
|
|
|
|
++ orgaExtra
|
|
|
|
++ [
|
|
|
|
./roles/chat.nix
|
2022-03-15 16:35:50 +00:00
|
|
|
./roles/leisure.nix
|
2022-03-08 01:42:46 +00:00
|
|
|
(blockServer newsPages)
|
|
|
|
]
|
|
|
|
);
|
|
|
|
leisure = makeConfig name (
|
|
|
|
all
|
|
|
|
++ orgaExtra
|
|
|
|
++ [
|
|
|
|
./roles/games.nix
|
|
|
|
./roles/chat.nix
|
|
|
|
./roles/leisure.nix
|
|
|
|
(blockServer newsPages)
|
|
|
|
]
|
|
|
|
);
|
|
|
|
unrestricted = makeConfig name (
|
|
|
|
all
|
|
|
|
++ orgaExtra
|
|
|
|
++ [
|
|
|
|
./roles/games.nix
|
|
|
|
./roles/chat.nix
|
|
|
|
./roles/leisure.nix
|
|
|
|
(blockServer [])
|
|
|
|
]
|
|
|
|
);
|
|
|
|
};
|
|
|
|
in {
|
2021-07-30 21:09:20 +00:00
|
|
|
apollo = daily-driver "apollo" [
|
|
|
|
./roles/battery.nix
|
2021-10-08 10:32:57 +00:00
|
|
|
./roles/untrusted-env.nix
|
2021-07-30 21:09:20 +00:00
|
|
|
];
|
|
|
|
zeus = daily-driver "zeus" [
|
|
|
|
./roles/hourly-maintenance.nix
|
2021-12-06 12:05:26 +00:00
|
|
|
(import ./roles/state.nix "orga")
|
2021-10-08 10:32:57 +00:00
|
|
|
./roles/trusted-env.nix
|
2022-01-30 13:06:09 +00:00
|
|
|
./roles/monitor-config
|
2021-07-30 21:09:20 +00:00
|
|
|
];
|
2021-12-21 23:01:55 +00:00
|
|
|
fluffy.default = makeConfig "fluffy" [
|
|
|
|
./roles/on-my-machine.nix
|
|
|
|
./roles/mode-switching.nix
|
|
|
|
./roles/systemd-exporter.nix
|
|
|
|
./roles/headless.nix
|
|
|
|
(import ./roles/state.nix "default")
|
|
|
|
];
|
2022-03-08 01:42:46 +00:00
|
|
|
hera.default = makeConfig "hera" (on-my-machines
|
2022-11-25 10:55:12 +00:00
|
|
|
++ [
|
|
|
|
./roles/fetch-banking-timer.nix
|
|
|
|
./roles/weechat
|
|
|
|
./roles/mail-sort.nix
|
|
|
|
./roles/mail2rss.nix
|
|
|
|
./roles/headless-mpd.nix
|
|
|
|
./roles/headless.nix
|
|
|
|
./roles/create-plans.nix
|
|
|
|
]);
|
2020-05-16 11:20:32 +00:00
|
|
|
}
|