1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00
This commit is contained in:
Kierán Meinhardt
2019-04-10 21:14:29 +02:00
parent c70c4369dc
commit b9a6f33aa4
21 changed files with 88 additions and 62 deletions

View File

@@ -1,5 +1,5 @@
{ pkgs, config, ... }: { pkgs, config, ... }:
let vimConfig = import ../dot/vim.nix { inherit config pkgs; }; let vimConfig = import <niveum/dot/vim.nix> { inherit config pkgs; };
in { in {
programs.nano.nanorc = '' programs.nano.nanorc = ''
set autoindent set autoindent
@@ -19,7 +19,7 @@ in {
nixpkgs.config.packageOverrides = pkgs: { nixpkgs.config.packageOverrides = pkgs: {
nvim = pkgs.neovim.override { nvim = pkgs.neovim.override {
configure = { configure = {
customRC = builtins.readFile ../dot/vimrc; customRC = builtins.readFile <niveum/dot/vimrc>;
packages.nvim = with pkgs.vimPlugins; { packages.nvim = with pkgs.vimPlugins; {
start = with pkgs.vimPlugins; [ start = with pkgs.vimPlugins; [
ale ale

View File

@@ -1,6 +1,6 @@
{ pkgs, lib, config, ... }: { pkgs, lib, config, ... }:
{ {
services.xserver = with import ../helpers.nix; with import ../theme.nix; { services.xserver = with import <niveum/lib>; with import <niveum/theme.nix>; {
enable = true; enable = true;
layout = commaSep [ "de" "gr" "ru" ]; layout = commaSep [ "de" "gr" "ru" ];
xkbVariant = commaSep [ "T3" "polytonic" "phonetic_winkeys" ]; xkbVariant = commaSep [ "T3" "polytonic" "phonetic_winkeys" ];
@@ -17,7 +17,7 @@
notifier = ''${pkgs.libnotify}/bin/notify-send -u normal -a xautolock "Locking soon" "The screen will lock in 10 seconds."''; notifier = ''${pkgs.libnotify}/bin/notify-send -u normal -a xautolock "Locking soon" "The screen will lock in 10 seconds."'';
}; };
displayManager.sessionCommands = '' displayManager.sessionCommands = ''
${pkgs.feh}/bin/feh --bg-fill $(find ${../art} -type f | shuf -n 1) & ${pkgs.feh}/bin/feh --bg-fill $(find ${<niveum/art>} -type f | shuf -n 1) &
${pkgs.dropbox-cli}/bin/dropbox start & ${pkgs.dropbox-cli}/bin/dropbox start &
${pkgs.seafile-client}/bin/seafile-applet & ${pkgs.seafile-client}/bin/seafile-applet &
${pkgs.systemd}/bin/systemctl --user import-environment XDG_SESSION_PATH ${pkgs.systemd}/bin/systemctl --user import-environment XDG_SESSION_PATH
@@ -43,7 +43,7 @@
i18n = { i18n = {
defaultLocale = "en_GB.UTF-8"; defaultLocale = "en_GB.UTF-8";
consoleKeyMap = "de"; consoleKeyMap = "de";
consoleColors = with import ../theme.nix; map (c: lib.strings.removePrefix "#" c) colorPalette; consoleColors = with import <niveum/theme.nix>; map (c: lib.strings.removePrefix "#" c) colorPalette;
}; };
services.compton = { services.compton = {
@@ -83,12 +83,12 @@
xsession.windowManager.i3 = { xsession.windowManager.i3 = {
enable = true; enable = true;
config = import ../dot/i3.nix { inherit lib pkgs config; }; config = import <niveum/dot/i3.nix> { inherit lib pkgs config; };
}; };
xresources.properties = import ../dot/xresources.nix { inherit lib; }; xresources.properties = import <niveum/dot/xresources.nix> { inherit lib; };
programs.rofi = import ../dot/rofi.nix { inherit config; }; programs.rofi = import <niveum/dot/rofi.nix> { inherit config; };
services.dunst = import ../dot/dunst.nix { inherit pkgs config; }; services.dunst = import <niveum/dot/dunst.nix> { inherit pkgs config; };
programs.urxvt = import ../dot/urxvt.nix { inherit pkgs config; }; programs.urxvt = import <niveum/dot/urxvt.nix> { inherit pkgs config; };
}; };
} }

View File

@@ -1,6 +1,6 @@
{ pkgs, ... }: { pkgs, ... }:
let let
eduroam = (import ../secrets.nix).eduroam; eduroam = (import <niveum/secrets.nix>).eduroam;
eduroamConfig = { eduroamConfig = {
auth = '' auth = ''
key_mgmt=WPA-EAP key_mgmt=WPA-EAP

View File

@@ -56,6 +56,11 @@ in {
hostname = "catullus.local"; hostname = "catullus.local";
user = "root"; user = "root";
}; };
menstruation-logs = {
user = "root";
hostname = "v22017123717457389.megasrv.de";
port = 49123;
};
"gitlab.peixdev.net".port = 999; "gitlab.peixdev.net".port = 999;
}; };
}; };
@@ -79,6 +84,10 @@ in {
openDefaultPorts = true; openDefaultPorts = true;
}; };
users.users.root.openssh.authorizedKeys.keys = [
sshKey.homeros
sshKey.scardanelli
];
users.users.kfm.openssh.authorizedKeys.keys = [ users.users.kfm.openssh.authorizedKeys.keys = [
sshKey.homeros sshKey.homeros
sshKey.scardanelli sshKey.scardanelli

View File

@@ -1,13 +1,13 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
let let
bvg = pkgs.callPackage ../packages/bvg.nix {}; bvg = pkgs.callPackage <niveum/packages/bvg.nix> {};
daybook = pkgs.callPackage ../packages/daybook.nix {}; daybook = pkgs.callPackage <niveum/packages/daybook.nix> {};
iolanguage = pkgs.callPackage ../packages/iolanguage.nix {}; iolanguage = pkgs.callPackage <niveum/packages/iolanguage.nix> {};
sncli = pkgs.python3Packages.callPackage ../packages/sncli.nix {}; sncli = pkgs.python3Packages.callPackage <niveum/packages/sncli.nix> {};
todoist = pkgs.callPackage ../packages/todoist {}; todoist = pkgs.callPackage <niveum/packages/todoist> {};
spotify-cli-linux = pkgs.python3Packages.callPackage ../packages/spotify-cli-linux.nix {}; spotify-cli-linux = pkgs.python3Packages.callPackage <niveum/packages/spotify-cli-linux.nix> {};
instaloader = pkgs.python3Packages.callPackage ../packages/instaloader.nix {}; instaloader = pkgs.python3Packages.callPackage <niveum/packages/instaloader.nix> {};
haskells = import ../dot/haskells.nix; haskells = import <niveum/dot/haskells.nix>;
unstable = import <nixos-unstable> {}; unstable = import <nixos-unstable> {};
executables = pkgs.haskell.lib.justStaticExecutables; executables = pkgs.haskell.lib.justStaticExecutables;
in with pkgs; in with pkgs;
@@ -49,6 +49,7 @@ in with pkgs;
wget wget
httpie httpie
whois whois
ddgr
instaloader instaloader
] ++ [ # media ] ++ [ # media
ffmpeg ffmpeg

View File

@@ -1,6 +1,6 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = [ ../modules/retiolum.nix ]; imports = [ <niveum/modules/retiolum.nix> ];
networking.hosts = { networking.hosts = {
"42:0:ca48:f98f:63d7:31ce:922b:245d" = [ "go" ]; "42:0:ca48:f98f:63d7:31ce:922b:245d" = [ "go" ];
@@ -18,7 +18,7 @@
}.${config.networking.hostName}; }.${config.networking.hostName};
environment.etc."tinc/retiolum/rsa_key.priv" = { environment.etc."tinc/retiolum/rsa_key.priv" = {
text = (import ../secrets.nix).retiolum.privateKey.${config.networking.hostName}; text = (import <niveum/secrets.nix>).retiolum.privateKey.${config.networking.hostName};
mode = "400"; mode = "400";
}; };
} }

View File

@@ -1,6 +1,6 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
let let
theme = import ../theme.nix; theme = import <niveum/theme.nix>;
unstable = import <nixos-unstable> {}; unstable = import <nixos-unstable> {};
scripts.dic = pkgs.callPackage (pkgs.fetchurl { scripts.dic = pkgs.callPackage (pkgs.fetchurl {
url = "https://cgit.krebsco.de/stockholm/plain/krebs/5pkgs/simple/dic/default.nix?id=8371e21c10bdb5d5353cc581efba7e09e4ce7a91"; url = "https://cgit.krebsco.de/stockholm/plain/krebs/5pkgs/simple/dic/default.nix?id=8371e21c10bdb5d5353cc581efba7e09e4ce7a91";

View File

@@ -1,5 +1,5 @@
{ config, pkgs }: { config, pkgs }:
with import ../theme.nix; with import <niveum/theme.nix>;
{ {
enable = true; enable = true;
iconTheme = config.constants.theme.icon; iconTheme = config.constants.theme.icon;

View File

@@ -1,6 +1,6 @@
haskellPackages: haskellPackages:
with haskellPackages; [ with haskellPackages; [
(callPackage ../packages/blessings.nix {}) (callPackage <niveum/packages/blessings.nix> {})
HTTP HTTP
HUnit HUnit
MissingH MissingH

View File

@@ -1,7 +1,7 @@
{ pkgs, config, lib }: { pkgs, config, lib }:
let let
unstable = import <nixos-unstable> {}; unstable = import <nixos-unstable> {};
i3blocks_conf = import ./i3blocks.nix { inherit pkgs; }; i3blocks_conf = import <niveum/dot/i3blocks.nix> { inherit pkgs; };
new-workspace = unstable.writers.writeDash "new-workspace" '' new-workspace = unstable.writers.writeDash "new-workspace" ''
i3-msg workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1)) i3-msg workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1))
''; '';
@@ -12,7 +12,7 @@ let
scardanelli = "wlp2s0"; scardanelli = "wlp2s0";
homeros = "wlp3s0"; homeros = "wlp3s0";
}.${config.networking.hostName}; }.${config.networking.hostName};
in with import ../theme.nix; in with import <niveum/theme.nix>;
rec { rec {
fonts = [ "${uiFont.name} ${toString uiFont.size}" ]; fonts = [ "${uiFont.name} ${toString uiFont.size}" ];
modifier = "Mod4"; modifier = "Mod4";

View File

@@ -1,5 +1,5 @@
{ config }: { config }:
with import ../theme.nix; with import <niveum/theme.nix>;
{ {
enable = true; enable = true;
separator = "solid"; separator = "solid";

View File

@@ -1,5 +1,5 @@
{ config, pkgs }: { config, pkgs }:
with import ../theme.nix; with import <niveum/theme.nix>;
{ {
enable = true; enable = true;
package = pkgs.rxvt_unicode-with-plugins; package = pkgs.rxvt_unicode-with-plugins;

View File

@@ -1,5 +1,5 @@
{ lib }: { lib }:
let theme = import ../theme.nix; let theme = import <niveum/theme.nix>;
in with lib; lists.foldr in with lib; lists.foldr
(i: cs: cs // { "*color${toString i}" = builtins.elemAt theme.colorPalette i; }) (i: cs: cs // { "*color${toString i}" = builtins.elemAt theme.colorPalette i; })
{ {

View File

@@ -1,18 +1,18 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
helpers = import ./helpers.nix; helpers = import <niveum/lib>;
in { in {
imports = [ imports = [
"${builtins.fetchTarball https://github.com/rycee/home-manager/archive/release-18.09.tar.gz}/nixos" "${builtins.fetchTarball https://github.com/rycee/home-manager/archive/release-18.09.tar.gz}/nixos"
./options.nix <niveum/options.nix>
configs/hu-berlin.nix <niveum/configs/hu-berlin.nix>
configs/shells.nix <niveum/configs/shells.nix>
configs/editors.nix <niveum/configs/editors.nix>
configs/graphics.nix <niveum/configs/graphics.nix>
configs/packages.nix <niveum/configs/packages.nix>
configs/networks.nix <niveum/configs/networks.nix>
configs/scripts.nix <niveum/configs/scripts.nix>
configs/retiolum.nix <niveum/configs/retiolum.nix>
]; ];
boot.cleanTmpDir = true; boot.cleanTmpDir = true;
@@ -62,7 +62,7 @@ in {
programs.tmux = { programs.tmux = {
enable = true; enable = true;
extraTmuxConf = import dot/tmux.nix; extraTmuxConf = import <niveum/dot/tmux.nix>;
keyMode = "vi"; keyMode = "vi";
terminal = "screen-256color"; terminal = "screen-256color";
}; };
@@ -102,8 +102,8 @@ in {
}; };
xdg.configFile = { xdg.configFile = {
"mpv/input.conf".text = import dot/mpv.nix; "mpv/input.conf".text = import <niveum/dot/mpv.nix>;
"htop/htoprc".text = builtins.readFile dot/htoprc; "htop/htoprc".text = builtins.readFile <niveum/dot/htoprc>;
"zathura/zathurarc".text = "set selection-clipboard clipboard"; "zathura/zathurarc".text = "set selection-clipboard clipboard";
"pycodestyle".text = '' "pycodestyle".text = ''
[pycodestyle] [pycodestyle]
@@ -112,8 +112,8 @@ in {
}; };
home.file = { home.file = {
".ghc/ghci.conf".text = import dot/ghci.nix { inherit pkgs; }; ".ghc/ghci.conf".text = import <niveum/dot/ghci.nix> { inherit pkgs; };
".stack/config.yaml".text = import dot/stack.nix { user = config.constants.user; }; ".stack/config.yaml".text = import <niveum/dot/stack.nix> { user = config.constants.user; };
".zshrc".text = "# nothing to see here"; ".zshrc".text = "# nothing to see here";
}; };
}; };

View File

@@ -1,6 +1,6 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib; with lib;
with import ./theme.nix; with import <niveum/theme.nix>;
let let
unstable = import <nixos-unstable> {}; unstable = import <nixos-unstable> {};
stringOption = def: mkOption { type = types.string; default = def; }; stringOption = def: mkOption { type = types.string; default = def; };

View File

@@ -8,7 +8,7 @@ in {
imports = [ imports = [
<system/hardware-configuration.nix> <system/hardware-configuration.nix>
<system/containers.nix> <system/containers.nix>
<modules/retiolum.nix> <niveum/modules/retiolum.nix>
]; ];
boot.loader.grub.enable = false; boot.loader.grub.enable = false;
@@ -24,7 +24,7 @@ in {
}; };
environment.variables.TERM = "linux"; environment.variables.TERM = "linux";
environment.variables.HTOPRC = toString <htoprc>; environment.variables.HTOPRC = toString <niveum/dot/htoprc>;
documentation.enable = false; documentation.enable = false;
documentation.doc.enable = false; documentation.doc.enable = false;

View File

@@ -1,8 +1,8 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
telegram-reverse = pkgs.python3Packages.callPackage <packages/telegram-reverse.nix> {}; telegram-reverse = pkgs.python3Packages.callPackage <niveum/packages/telegram-reverse.nix> {};
telegram-betacode = pkgs.python3Packages.callPackage <packages/telegram-betacode.nix> {}; telegram-betacode = pkgs.python3Packages.callPackage <niveum/packages/telegram-betacode.nix> {};
telegram-horoscope = pkgs.python3Packages.callPackage <packages/telegram-horoscope.nix> {}; telegram-horoscope = pkgs.python3Packages.callPackage <niveum/packages/telegram-horoscope.nix> {};
in { in {
containers.telegram-bots = { containers.telegram-bots = {
autoStart = true; autoStart = true;

View File

@@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = imports =
[ ../../main.nix [ <niveum/main.nix>
]; ];
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;

View File

@@ -1,4 +1,7 @@
{ catullus-ssh ? "root@catullus.r" }: { catullus-ssh ? "root@catullus.r"
, scardanelli-ssh ? "root@scardanelli.r:22022"
, homeros-ssh ? "root@homeros.r:22022"
}:
let let
krops = builtins.fetchGit { krops = builtins.fetchGit {
url = "https://cgit.krebsco.de/krops/"; url = "https://cgit.krebsco.de/krops/";
@@ -8,20 +11,33 @@ let
source = name: path: lib.evalSource [{ source = name: path: lib.evalSource [{
nixpkgs.git = { nixpkgs.git = {
ref = "6a3f5bcb061e1822f50e299f5616a0731636e4e7"; # 18.09
url = https://github.com/NixOS/nixpkgs-channels; url = https://github.com/NixOS/nixpkgs-channels;
# ref = "6a3f5bcb061e1822f50e299f5616a0731636e4e7"; # 18.09
ref = "22a606e20d662e2575552ab9b5e7c31aa8331e0e";
}; };
# stockholm.git = {
# url = https://cgit.krebsco.de/stockholm;
# ref = "9b2355521f8447e7da3af30bce8fb7ba6f83ed69";
# };
system.file = toString path; system.file = toString path;
modules.file = toString ../modules; niveum.file = toString ../.;
htoprc.file = toString ../dot/htoprc; nixos-config.symlink = "system/physical.nix";
packages.file = toString ../packages; # secrets.pass = {
nixos-config.symlink = "system/configuration.nix"; # dir = toString ~/.password-store;
secrets.pass = { # name = name;
dir = toString ~/.password-store; # };
name = name;
};
}]; }];
systems.scardanelli = pkgs.krops.writeDeploy "deploy-scardanelli" {
source = source "scardanelli" ./scardanelli;
target = scardanelli-ssh;
};
systems.homeros = pkgs.krops.writeDeploy "deploy-homeros" {
source = source "homeros" ./homeros;
target = homeros-ssh;
};
systems.catullus = pkgs.krops.writeDeploy "deploy-catullus" { systems.catullus = pkgs.krops.writeDeploy "deploy-catullus" {
source = source "catullus" ./catullus; source = source "catullus" ./catullus;
target = catullus-ssh; target = catullus-ssh;

View File

@@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = imports =
[ ../../main.nix [ <niveum/main.nix>
]; ];
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;