Reformat using nixpkgs-fmt
This commit is contained in:
parent
368ed0797d
commit
5a734099bf
36 changed files with 209 additions and 168 deletions
|
@ -12,7 +12,7 @@ rec {
|
||||||
|
|
||||||
hosts = import ./hosts;
|
hosts = import ./hosts;
|
||||||
|
|
||||||
tubslatex = callPackage ./pkgs/tubslatex {};
|
tubslatex = callPackage ./pkgs/tubslatex { };
|
||||||
keys = callPackage ./pkgs/keys {};
|
keys = callPackage ./pkgs/keys { };
|
||||||
homePage = callPackage ./pkgs/homePage {};
|
homePage = callPackage ./pkgs/homePage { };
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,8 @@ let
|
||||||
"media.local"
|
"media.local"
|
||||||
];
|
];
|
||||||
backups = "/mnt/storage/backup";
|
backups = "/mnt/storage/backup";
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/profiles/base
|
../../modules/profiles/base
|
||||||
];
|
];
|
||||||
|
@ -107,13 +108,22 @@ in {
|
||||||
allowPing = true;
|
allowPing = true;
|
||||||
allowedTCPPorts = [
|
allowedTCPPorts = [
|
||||||
22 # SSH
|
22 # SSH
|
||||||
80 443 # HTTP(S)
|
80
|
||||||
111 2049 # NFS
|
443 # HTTP(S)
|
||||||
137 138 139 445 # SMB
|
111
|
||||||
|
2049 # NFS
|
||||||
|
137
|
||||||
|
138
|
||||||
|
139
|
||||||
|
445 # SMB
|
||||||
];
|
];
|
||||||
allowedUDPPorts = [
|
allowedUDPPorts = [
|
||||||
137 138 139 445 # SMB
|
137
|
||||||
111 2049 # NFS
|
138
|
||||||
|
139
|
||||||
|
445 # SMB
|
||||||
|
111
|
||||||
|
2049 # NFS
|
||||||
51234 # Wireguard
|
51234 # Wireguard
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -121,16 +131,16 @@ in {
|
||||||
security.acme = {
|
security.acme = {
|
||||||
email = "d553a78d-0349-48db-9c20-5b27af3a1dfc@dadada.li";
|
email = "d553a78d-0349-48db-9c20-5b27af3a1dfc@dadada.li";
|
||||||
acceptTerms = true;
|
acceptTerms = true;
|
||||||
# certs."webchat.dadada.li" = {
|
# certs."webchat.dadada.li" = {
|
||||||
# credentialsFile = "/var/lib/lego/acme-joker.env";
|
# credentialsFile = "/var/lib/lego/acme-joker.env";
|
||||||
# dnsProvider = "joker";
|
# dnsProvider = "joker";
|
||||||
# postRun = "systemctl reload nginx.service";
|
# postRun = "systemctl reload nginx.service";
|
||||||
# };
|
# };
|
||||||
# certs."weechat.dadada.li" = {
|
# certs."weechat.dadada.li" = {
|
||||||
# credentialsFile = "/var/lib/lego/acme-joker.env";
|
# credentialsFile = "/var/lib/lego/acme-joker.env";
|
||||||
# dnsProvider = "joker";
|
# dnsProvider = "joker";
|
||||||
# postRun = "systemctl reload nginx.service";
|
# postRun = "systemctl reload nginx.service";
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users."mist" = {
|
users.users."mist" = {
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
let
|
let
|
||||||
hostName = "surgat";
|
hostName = "surgat";
|
||||||
this = import ../.. { inherit pkgs; };
|
this = import ../.. { inherit pkgs; };
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [ this.profiles.base ];
|
imports = [ this.profiles.base ];
|
||||||
|
|
||||||
networking.hostName = hostName;
|
networking.hostName = hostName;
|
||||||
|
@ -43,7 +44,8 @@ in {
|
||||||
allowPing = true;
|
allowPing = true;
|
||||||
allowedTCPPorts = [
|
allowedTCPPorts = [
|
||||||
22 # SSH
|
22 # SSH
|
||||||
80 443 # HTTPS
|
80
|
||||||
|
443 # HTTPS
|
||||||
];
|
];
|
||||||
allowedUDPPorts = [
|
allowedUDPPorts = [
|
||||||
51234 # Wireguard
|
51234 # Wireguard
|
||||||
|
@ -60,10 +62,10 @@ in {
|
||||||
boot.loader.grub.version = 2;
|
boot.loader.grub.version = 2;
|
||||||
boot.loader.grub.device = "/dev/sda";
|
boot.loader.grub.device = "/dev/sda";
|
||||||
|
|
||||||
networking.interfaces."ens3".ipv6.addresses = [ {
|
networking.interfaces."ens3".ipv6.addresses = [{
|
||||||
address = "2a01:4f8:c17:1d70::";
|
address = "2a01:4f8:c17:1d70::";
|
||||||
prefixLength = 64;
|
prefixLength = 64;
|
||||||
} ];
|
}];
|
||||||
|
|
||||||
networking.defaultGateway6 = {
|
networking.defaultGateway6 = {
|
||||||
address = "fe80::1";
|
address = "fe80::1";
|
||||||
|
|
|
@ -3,15 +3,16 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.admin;
|
cfg = config.dadada.admin;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.admin = {
|
options.dadada.admin = {
|
||||||
enable = mkEnableOption "Enable admin access";
|
enable = mkEnableOption "Enable admin access";
|
||||||
|
|
||||||
users = mkOption {
|
users = mkOption {
|
||||||
type = with types; attrsOf (listOf path);
|
type = with types; attrsOf (listOf path);
|
||||||
default = [];
|
default = [ ];
|
||||||
description = ''
|
description = ''
|
||||||
List of admin users with root access to all the machine.
|
List of admin users with root access to all the machine.
|
||||||
'';
|
'';
|
||||||
example = literalExample "\"user1\" = [ /path/to/key1 /path/to/key2 ]";
|
example = literalExample "\"user1\" = [ /path/to/key1 /path/to/key2 ]";
|
||||||
};
|
};
|
||||||
|
@ -32,12 +33,14 @@ in {
|
||||||
|
|
||||||
users.mutableUsers = false;
|
users.mutableUsers = false;
|
||||||
|
|
||||||
users.users = mapAttrs (user: keys: (
|
users.users = mapAttrs
|
||||||
{
|
(user: keys: (
|
||||||
extraGroups = [ "wheel" ];
|
{
|
||||||
isNormalUser = true;
|
extraGroups = [ "wheel" ];
|
||||||
openssh.authorizedKeys.keyFiles = keys;
|
isNormalUser = true;
|
||||||
})) cfg.users;
|
openssh.authorizedKeys.keyFiles = keys;
|
||||||
|
}))
|
||||||
|
cfg.users;
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 22 ];
|
networking.firewall.allowedTCPPorts = [ 22 ];
|
||||||
|
|
||||||
|
@ -49,9 +52,8 @@ in {
|
||||||
services.tor.hiddenServices = {
|
services.tor.hiddenServices = {
|
||||||
"rat" = mkIf cfg.rat.enable {
|
"rat" = mkIf cfg.rat.enable {
|
||||||
name = "rat";
|
name = "rat";
|
||||||
map = [ { port = 22; } ];
|
map = [{ port = 22; }];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, pkgs, lib, ...}:
|
{ config, pkgs, lib, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
backupExcludes = [
|
backupExcludes = [
|
||||||
"/backup"
|
"/backup"
|
||||||
"/dev"
|
"/dev"
|
||||||
"/efi"
|
"/efi"
|
||||||
|
@ -20,7 +20,8 @@ let
|
||||||
"/var/tmp"
|
"/var/tmp"
|
||||||
];
|
];
|
||||||
cfg = config.dadada.backupClient;
|
cfg = config.dadada.backupClient;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.backupClient = {
|
options.dadada.backupClient = {
|
||||||
enable = mkEnableOption "Enable backup client";
|
enable = mkEnableOption "Enable backup client";
|
||||||
gs = mkEnableOption "Enable backup to GS location";
|
gs = mkEnableOption "Enable backup to GS location";
|
||||||
|
@ -51,8 +52,8 @@ in {
|
||||||
within = "1d"; # Keep all archives from the last day
|
within = "1d"; # Keep all archives from the last day
|
||||||
daily = 7;
|
daily = 7;
|
||||||
weekly = 2;
|
weekly = 2;
|
||||||
monthly = -1; # Keep at least one archive for each month
|
monthly = -1; # Keep at least one archive for each month
|
||||||
yearly = -1; # Keep at least one archive for each year
|
yearly = -1; # Keep at least one archive for each year
|
||||||
};
|
};
|
||||||
startAt = "monthly";
|
startAt = "monthly";
|
||||||
};
|
};
|
||||||
|
@ -63,7 +64,7 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.borgbackup.jobs.bs = mkIf cfg.bs{
|
services.borgbackup.jobs.bs = mkIf cfg.bs {
|
||||||
paths = "/";
|
paths = "/";
|
||||||
exclude = backupExcludes;
|
exclude = backupExcludes;
|
||||||
repo = "borg@media.dadada.li:/mnt/storage/backup/${config.networking.hostName}";
|
repo = "borg@media.dadada.li:/mnt/storage/backup/${config.networking.hostName}";
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.dadada.element;
|
cfg = config.dadada.element;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.element = {
|
options.dadada.element = {
|
||||||
enable = lib.mkEnableOption "Enable element webapp";
|
enable = lib.mkEnableOption "Enable element webapp";
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,7 +3,8 @@ with lib;
|
||||||
let
|
let
|
||||||
luks = config.dadada.luks;
|
luks = config.dadada.luks;
|
||||||
fido2 = config.dadada.fido2;
|
fido2 = config.dadada.fido2;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
dadada.luks = {
|
dadada.luks = {
|
||||||
|
|
|
@ -6,7 +6,8 @@ let
|
||||||
ipv6 = "fd42:dead:beef::/48";
|
ipv6 = "fd42:dead:beef::/48";
|
||||||
ipv4 = "192.168.42.0/24";
|
ipv4 = "192.168.42.0/24";
|
||||||
allow = "192.168.42.0 fd42:dead:beef::";
|
allow = "192.168.42.0 fd42:dead:beef::";
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.fileShare = {
|
options.dadada.fileShare = {
|
||||||
enable = mkEnableOption "Enable file share server";
|
enable = mkEnableOption "Enable file share server";
|
||||||
};
|
};
|
||||||
|
@ -47,4 +48,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.dadada.gitea;
|
cfg = config.dadada.gitea;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.gitea = {
|
options.dadada.gitea = {
|
||||||
enable = lib.mkEnableOption "Enable gitea";
|
enable = lib.mkEnableOption "Enable gitea";
|
||||||
};
|
};
|
||||||
|
|
|
@ -13,21 +13,21 @@ with lib;
|
||||||
cursor = "#e8e8e8";
|
cursor = "#e8e8e8";
|
||||||
cursorForeground = "#1f2022";
|
cursorForeground = "#1f2022";
|
||||||
background = "#292b2e";
|
background = "#292b2e";
|
||||||
color0 = "#1f2022";
|
color0 = "#1f2022";
|
||||||
color8 = "#585858";
|
color8 = "#585858";
|
||||||
color7 = "#a3a3a3";
|
color7 = "#a3a3a3";
|
||||||
color15 = "#f8f8f8";
|
color15 = "#f8f8f8";
|
||||||
color1 = "#f2241f";
|
color1 = "#f2241f";
|
||||||
color9 = "#f2241f";
|
color9 = "#f2241f";
|
||||||
color2 = "#67b11d";
|
color2 = "#67b11d";
|
||||||
color10 = "#67b11d";
|
color10 = "#67b11d";
|
||||||
color3 = "#b1951d";
|
color3 = "#b1951d";
|
||||||
color11 = "#b1951d";
|
color11 = "#b1951d";
|
||||||
color4 = "#4f97d7";
|
color4 = "#4f97d7";
|
||||||
color12 = "#4f97d7";
|
color12 = "#4f97d7";
|
||||||
color5 = "#a31db1";
|
color5 = "#a31db1";
|
||||||
color13 = "#a31db1";
|
color13 = "#a31db1";
|
||||||
color6 = "#2d9574";
|
color6 = "#2d9574";
|
||||||
color14 = "#2d9574";
|
color14 = "#2d9574";
|
||||||
color16 = "#ffa500";
|
color16 = "#ffa500";
|
||||||
color17 = "#b03060";
|
color17 = "#b03060";
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.fish;
|
cfg = config.dadada.home.fish;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.fish = {
|
options.dadada.home.fish = {
|
||||||
enable = mkEnableOption "Enable fish config";
|
enable = mkEnableOption "Enable fish config";
|
||||||
};
|
};
|
||||||
|
@ -45,21 +46,21 @@ in {
|
||||||
#end
|
#end
|
||||||
'';
|
'';
|
||||||
promptInit = ''
|
promptInit = ''
|
||||||
function fish_prompt
|
function fish_prompt
|
||||||
set last_status $status
|
set last_status $status
|
||||||
printf '%s %s:%s ' \
|
printf '%s %s:%s ' \
|
||||||
(set_color red
|
(set_color red
|
||||||
echo $last_status) \
|
echo $last_status) \
|
||||||
(set_color green
|
(set_color green
|
||||||
hostname) \
|
hostname) \
|
||||||
(set_color blue
|
(set_color blue
|
||||||
prompt_pwd)
|
prompt_pwd)
|
||||||
set_color normal
|
set_color normal
|
||||||
end
|
end
|
||||||
|
|
||||||
function fish_right_prompt
|
function fish_right_prompt
|
||||||
printf '%s' (__fish_git_prompt)
|
printf '%s' (__fish_git_prompt)
|
||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
gst = "git status";
|
gst = "git status";
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.gpg;
|
cfg = config.dadada.home.gpg;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.gpg = {
|
options.dadada.home.gpg = {
|
||||||
enable = mkEnableOption "Enable GnuPG config";
|
enable = mkEnableOption "Enable GnuPG config";
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.keyring;
|
cfg = config.dadada.home.keyring;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.keyring = {
|
options.dadada.home.keyring = {
|
||||||
enable = mkEnableOption "Enable keyring config";
|
enable = mkEnableOption "Enable keyring config";
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.kitty;
|
cfg = config.dadada.home.kitty;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.kitty = {
|
options.dadada.home.kitty = {
|
||||||
enable = mkEnableOption "Enable kitty config";
|
enable = mkEnableOption "Enable kitty config";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
{ config, lib, pkgs, colors, ...}:
|
{ config, lib, pkgs, colors, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.mako;
|
cfg = config.dadada.home.mako;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.mako = {
|
options.dadada.home.mako = {
|
||||||
enable = mkEnableOption "Enable mako config";
|
enable = mkEnableOption "Enable mako config";
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,13 +2,14 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.session;
|
cfg = config.dadada.home.session;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.session = {
|
options.dadada.home.session = {
|
||||||
enable = mkEnableOption "Enable session variable management";
|
enable = mkEnableOption "Enable session variable management";
|
||||||
sessionVars = mkOption {
|
sessionVars = mkOption {
|
||||||
description = "Session variables";
|
description = "Session variables";
|
||||||
type = types.attrs;
|
type = types.attrs;
|
||||||
default = {};
|
default = { };
|
||||||
example = ''
|
example = ''
|
||||||
EDITOR = "vim";
|
EDITOR = "vim";
|
||||||
PAGER = "less";
|
PAGER = "less";
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.ssh;
|
cfg = config.dadada.home.ssh;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.ssh = {
|
options.dadada.home.ssh = {
|
||||||
enable = mkEnableOption "Enable SSH config";
|
enable = mkEnableOption "Enable SSH config";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
{ config, pkgs, lib, colors, ...}:
|
{ config, pkgs, lib, colors, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.sway;
|
cfg = config.dadada.home.sway;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.sway = {
|
options.dadada.home.sway = {
|
||||||
enable = mkEnableOption "Enable Sway config";
|
enable = mkEnableOption "Enable Sway config";
|
||||||
};
|
};
|
||||||
|
@ -21,18 +22,18 @@ in {
|
||||||
swaylock
|
swaylock
|
||||||
]);
|
]);
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = null;
|
config = null;
|
||||||
extraConfig = (builtins.readFile ./config);
|
extraConfig = (builtins.readFile ./config);
|
||||||
extraSessionCommands = ''
|
extraSessionCommands = ''
|
||||||
export SDL_VIDEODRIVER=wayland
|
export SDL_VIDEODRIVER=wayland
|
||||||
# needs qt5.qtwayland in systemPackages
|
# needs qt5.qtwayland in systemPackages
|
||||||
export QT_QPA_PLATFORM=wayland
|
export QT_QPA_PLATFORM=wayland
|
||||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
|
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
|
||||||
# Fix for some Java AWT applications (e.g. Android Studio),
|
# Fix for some Java AWT applications (e.g. Android Studio),
|
||||||
# use this if they aren't displayed properly:
|
# use this if they aren't displayed properly:
|
||||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.syncthing;
|
cfg = config.dadada.home.syncthing;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.syncthing = {
|
options.dadada.home.syncthing = {
|
||||||
enable = mkEnableOption "Enable Syncthing config";
|
enable = mkEnableOption "Enable Syncthing config";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, colors ? ../../lib/colors.nix
|
||||||
colors ? ../../lib/colors.nix,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.termite;
|
cfg = config.dadada.home.termite;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.termite = {
|
options.dadada.home.termite = {
|
||||||
enable = mkEnableOption "Enable termite config";
|
enable = mkEnableOption "Enable termite config";
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.tmux;
|
cfg = config.dadada.home.tmux;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.tmux = {
|
options.dadada.home.tmux = {
|
||||||
enable = mkEnableOption "Enable tmux config";
|
enable = mkEnableOption "Enable tmux config";
|
||||||
};
|
};
|
||||||
|
@ -11,10 +12,10 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
terminal = "xterm-256color";
|
terminal = "xterm-256color";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
set -g status on
|
set -g status on
|
||||||
set-option -g set-titles on
|
set-option -g set-titles on
|
||||||
set-option -g automatic-rename on
|
set-option -g automatic-rename on
|
||||||
set-window-option -g mode-keys vi
|
set-window-option -g mode-keys vi
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.vim;
|
cfg = config.dadada.home.vim;
|
||||||
vimPlugins = pkgs.callPackage ../../../pkgs/vimPlugins {};
|
vimPlugins = pkgs.callPackage ../../../pkgs/vimPlugins { };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.dadada.home.vim = {
|
options.dadada.home.vim = {
|
||||||
|
@ -32,6 +32,9 @@ in
|
||||||
#pkgs.vimPlugins.clang_complete
|
#pkgs.vimPlugins.clang_complete
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
home.packages = [ pkgs.languagetool ];
|
home.packages = with pkgs; [
|
||||||
|
languagetool
|
||||||
|
nixpkgs-fmt
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,8 @@ let
|
||||||
"application/pdf" = "org.pwmt.zathura.desktop";
|
"application/pdf" = "org.pwmt.zathura.desktop";
|
||||||
};
|
};
|
||||||
cfg = config.dadada.home.xdg;
|
cfg = config.dadada.home.xdg;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.xdg = {
|
options.dadada.home.xdg = {
|
||||||
enable = mkEnableOption "Enable XDG config";
|
enable = mkEnableOption "Enable XDG config";
|
||||||
};
|
};
|
||||||
|
@ -32,9 +33,9 @@ in {
|
||||||
defaultApplications = apps;
|
defaultApplications = apps;
|
||||||
};
|
};
|
||||||
userDirs = {
|
userDirs = {
|
||||||
download ="\$HOME/tmp";
|
download = "\$HOME/tmp";
|
||||||
music = "\$HOME/lib/music";
|
music = "\$HOME/lib/music";
|
||||||
videos ="\$HOME/lib/videos";
|
videos = "\$HOME/lib/videos";
|
||||||
pictures = "\$HOME/lib/pictures";
|
pictures = "\$HOME/lib/pictures";
|
||||||
documents = "\$HOME/lib";
|
documents = "\$HOME/lib";
|
||||||
desktop = "$HOME/tmp";
|
desktop = "$HOME/tmp";
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.home.zsh;
|
cfg = config.dadada.home.zsh;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.home.zsh = {
|
options.dadada.home.zsh = {
|
||||||
enable = mkEnableOption "Enable ZSH config";
|
enable = mkEnableOption "Enable ZSH config";
|
||||||
};
|
};
|
||||||
|
@ -26,19 +27,19 @@ in {
|
||||||
plugins = [
|
plugins = [
|
||||||
];
|
];
|
||||||
initExtra = ''
|
initExtra = ''
|
||||||
source ~/.nix-profile/share/zsh-git-prompt/zshrc.sh
|
source ~/.nix-profile/share/zsh-git-prompt/zshrc.sh
|
||||||
source ~/.nix-profile/share/fzf/key-bindings.zsh
|
source ~/.nix-profile/share/fzf/key-bindings.zsh
|
||||||
source ~/.nix-profile/share/fzf/completion.zsh
|
source ~/.nix-profile/share/fzf/completion.zsh
|
||||||
|
|
||||||
preexec() { echo -n -e "\033]0;$1\007" }
|
preexec() { echo -n -e "\033]0;$1\007" }
|
||||||
|
|
||||||
PROMPT="%F{red}%?%f %F{green}%m%f:%F{blue}%~%f "
|
PROMPT="%F{red}%?%f %F{green}%m%f:%F{blue}%~%f "
|
||||||
RPROMPT='$(git_super_status)'
|
RPROMPT='$(git_super_status)'
|
||||||
#NIX_BUILD_SHELL="${pkgs.zsh}/bin/zsh"
|
#NIX_BUILD_SHELL="${pkgs.zsh}/bin/zsh"
|
||||||
if [ "$TMUX" = "" ]
|
if [ "$TMUX" = "" ]
|
||||||
then
|
then
|
||||||
tmux
|
tmux
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
profileExtra = ''
|
profileExtra = ''
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.dadada.homePage;
|
cfg = config.dadada.homePage;
|
||||||
in with lib; {
|
in
|
||||||
|
with lib; {
|
||||||
options.dadada.homePage = {
|
options.dadada.homePage = {
|
||||||
enable = mkEnableOption "Enable home page";
|
enable = mkEnableOption "Enable home page";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
{ config, pkgs, lib, ...}:
|
{ config, pkgs, lib, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.networking;
|
cfg = config.dadada.networking;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.networking = {
|
options.dadada.networking = {
|
||||||
useLocalResolver = mkEnableOption "Enable local caching name server";
|
useLocalResolver = mkEnableOption "Enable local caching name server";
|
||||||
wanInterfaces = mkOption {
|
wanInterfaces = mkOption {
|
||||||
type = with types; listOf str;
|
type = with types; listOf str;
|
||||||
description = "WAN network interfaces";
|
description = "WAN network interfaces";
|
||||||
default = [];
|
default = [ ];
|
||||||
};
|
};
|
||||||
vpnExtension = mkOption {
|
vpnExtension = mkOption {
|
||||||
type = with types; nullOr str;
|
type = with types; nullOr str;
|
||||||
|
@ -73,7 +74,7 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedUDPPorts = [
|
allowedUDPPorts = [
|
||||||
51234 # Wireguard
|
51234 # Wireguard
|
||||||
5353 # mDNS
|
5353 # mDNS
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.share;
|
cfg = config.dadada.share;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.share = {
|
options.dadada.share = {
|
||||||
enable = mkEnableOption "Enable file share";
|
enable = mkEnableOption "Enable file share";
|
||||||
};
|
};
|
||||||
|
@ -27,4 +28,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.steam;
|
cfg = config.dadada.steam;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.steam = {
|
options.dadada.steam = {
|
||||||
enable = mkEnableOption "Enable Steam config";
|
enable = mkEnableOption "Enable Steam config";
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.autoUpgrade;
|
cfg = config.dadada.autoUpgrade;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
|
|
||||||
options.dadada.autoUpgrade = {
|
options.dadada.autoUpgrade = {
|
||||||
enable = mkEnableOption "Enable automatic upgrades";
|
enable = mkEnableOption "Enable automatic upgrades";
|
||||||
|
|
|
@ -21,13 +21,14 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.vpnServer = {
|
options.dadada.vpnServer = {
|
||||||
enable = mkEnableOption "Enable wireguard gateway";
|
enable = mkEnableOption "Enable wireguard gateway";
|
||||||
peers = mkOption {
|
peers = mkOption {
|
||||||
description = "Set of extensions and public keys of peers";
|
description = "Set of extensions and public keys of peers";
|
||||||
type = with types; attrsOf (submodule wgPeer);
|
type = with types; attrsOf (submodule wgPeer);
|
||||||
default = {};
|
default = { };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
@ -37,11 +38,13 @@ in {
|
||||||
privateKeyFile = "/var/lib/wireguard/wg0-key";
|
privateKeyFile = "/var/lib/wireguard/wg0-key";
|
||||||
ips = [ "fd42:dead:beef:1337::0/64" ];
|
ips = [ "fd42:dead:beef:1337::0/64" ];
|
||||||
listenPort = 51234;
|
listenPort = 51234;
|
||||||
peers = map (peer: (
|
peers = map
|
||||||
{
|
(peer: (
|
||||||
allowedIPs = [ "fd42:dead:beef:1337::${peer.id}/128" ];
|
{
|
||||||
publicKey = peer.key;
|
allowedIPs = [ "fd42:dead:beef:1337::${peer.id}/128" ];
|
||||||
})) (attrValues cfg.peers);
|
publicKey = peer.key;
|
||||||
|
}))
|
||||||
|
(attrValues cfg.peers);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.dadada.weechat;
|
cfg = config.dadada.weechat;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.dadada.weechat = {
|
options.dadada.weechat = {
|
||||||
enable = mkEnableOption "Enable weechat relay";
|
enable = mkEnableOption "Enable weechat relay";
|
||||||
};
|
};
|
||||||
|
@ -55,4 +56,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
self: super:
|
self: super:
|
||||||
|
|
||||||
let
|
let
|
||||||
isReserved = n: n == "lib" || n == "overlays" || n == "modules";
|
isReserved = n: n == "lib" || n == "overlays" || n == "modules";
|
||||||
nameValuePair = n: v: { name = n; value = v; };
|
nameValuePair = n: v: { name = n; value = v; };
|
||||||
attrs = import ./default.nix { pkgs = super; };
|
attrs = import ./default.nix { pkgs = super; };
|
||||||
in
|
in
|
||||||
builtins.listToAttrs
|
builtins.listToAttrs
|
||||||
(map (n: nameValuePair n attrs.${n})
|
(map (n: nameValuePair n attrs.${n})
|
||||||
(builtins.filter (n: !isReserved n)
|
(builtins.filter (n: !isReserved n)
|
||||||
(builtins.attrNames attrs)))
|
(builtins.attrNames attrs)))
|
||||||
|
|
|
@ -1,25 +1,26 @@
|
||||||
self: super:
|
self: super:
|
||||||
{
|
{
|
||||||
# Based on https://gist.github.com/clefru/9ed1186bf0b76d27e0ad20cbd9966b87
|
# Based on https://gist.github.com/clefru/9ed1186bf0b76d27e0ad20cbd9966b87
|
||||||
tubslatex = super.lib.overrideDerivation (super.texlive.combine {
|
tubslatex = super.lib.overrideDerivation
|
||||||
inherit (super.texlive) scheme-full;
|
(super.texlive.combine {
|
||||||
tubslatex.pkgs = [ (super.callPackage ../pkgs/tubslatex {}) ];
|
inherit (super.texlive) scheme-full;
|
||||||
}) (oldAttrs: {
|
tubslatex.pkgs = [ (super.callPackage ../pkgs/tubslatex { }) ];
|
||||||
postBuild = ''
|
})
|
||||||
# Save the udpmap.cfg because texlive.combine removes it.
|
(oldAttrs: {
|
||||||
cat $out/share/texmf/web2c/updmap.cfg > $out/share/texmf/web2c/updmap.cfg.1
|
postBuild = ''
|
||||||
'' + oldAttrs.postBuild + ''
|
# Save the udpmap.cfg because texlive.combine removes it.
|
||||||
# Move updmap.cfg into its original place and rerun mktexlsr, so that kpsewhich finds it
|
cat $out/share/texmf/web2c/updmap.cfg > $out/share/texmf/web2c/updmap.cfg.1
|
||||||
rm $out/share/texmf/web2c/updmap.cfg || true
|
'' + oldAttrs.postBuild + ''
|
||||||
cat $out/share/texmf/web2c/updmap.cfg.1 > $out/share/texmf/web2c/updmap.cfg
|
# Move updmap.cfg into its original place and rerun mktexlsr, so that kpsewhich finds it
|
||||||
rm $out/share/texmf/web2c/updmap.cfg.1
|
rm $out/share/texmf/web2c/updmap.cfg || true
|
||||||
perl `type -P mktexlsr.pl` $out/share/texmf
|
cat $out/share/texmf/web2c/updmap.cfg.1 > $out/share/texmf/web2c/updmap.cfg
|
||||||
yes | perl `type -P updmap.pl` --sys --syncwithtrees --force || true
|
rm $out/share/texmf/web2c/updmap.cfg.1
|
||||||
perl `type -P updmap.pl` --sys --enable Map=NexusProSerif.map --enable Map=NexusProSans.map
|
perl `type -P mktexlsr.pl` $out/share/texmf
|
||||||
# Regenerate .map files.
|
yes | perl `type -P updmap.pl` --sys --syncwithtrees --force || true
|
||||||
perl `type -P updmap.pl` --sys
|
perl `type -P updmap.pl` --sys --enable Map=NexusProSerif.map --enable Map=NexusProSans.map
|
||||||
'';
|
# Regenerate .map files.
|
||||||
});
|
perl `type -P updmap.pl` --sys
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
|
||||||
buildPhase = "";
|
buildPhase = "";
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
cp * $out
|
cp * $out
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|
|
@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip ];
|
||||||
buildInputs = [ unzip ];
|
buildInputs = [ unzip ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp -r * $out/
|
cp -r * $out/
|
||||||
'';
|
'';
|
||||||
pname = "tubslatex";
|
pname = "tubslatex";
|
||||||
name = pname;
|
name = pname;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
setlocal expandtab
|
setlocal expandtab
|
||||||
setlocal shiftwidth=2
|
setlocal shiftwidth=2
|
||||||
setlocal softtabstop=2
|
setlocal softtabstop=2
|
||||||
|
|
||||||
|
let b:ale_fixers = [ 'nixpkgs-fmt', 'remove_trailing_lines', 'trim_whitespace']
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue