Matrix enablement among other things

Enabled matrix, provided new tmux config, enabled a few plugins for doom
emacs, added arc-nixexprs and matrix packages from that. Added backlight
and battery monitors to my waybar config. Added kat to video group so
backlight control is possible.
This commit is contained in:
kat witch 2021-02-10 17:38:29 +00:00 committed by kat
parent a66a11c8ac
commit 6a0f64b846
12 changed files with 132 additions and 26 deletions

View file

@ -4,9 +4,12 @@ let unstable = import <nixos-unstable> { };
in {
imports = [
./hardware-configuration.nix
./services/bitwarden.nix
./services/znc.nix
./services/weechat.nix
./services/nginx.nix
./services/matrix.nix
./services/postgres.nix
];
meta.deploy.ssh.host = "beltane.dork.dev";

View file

@ -2,14 +2,14 @@
let secrets = (import ../secrets.nix);
in {
bitwarden_rs = {
services.bitwarden_rs = {
enable = true;
config = {
rocketPort = 4000;
websocketEnabled = true;
signupsAllowed = false;
adminToken = secrets.bitwarden.token;
domain = "https://pw.dork.dev";
domain = "https://vault.kittywit.ch";
};
};
}

View file

@ -2,10 +2,10 @@
let secrets = (import ../secrets.nix);
in {
matrix-synapse = {
services.matrix-synapse = {
enable = true;
registration_shared_secret = secrets.matrix.secret;
server_name = "dork.dev";
server_name = "kittywit.ch";
listeners = [{
port = 8008;
bind_address = "::1";
@ -18,4 +18,18 @@ in {
}];
}];
};
/* services.mautrix-telegram = {
enable = true;
settings = {
homeserver = {
address = "http://localhost:8008";
domain = "kittywit.ch";
};
bridge.permissions = {
"@kat:kittywit.ch" = "admin";
"kittywit.ch" = "full";
};
};
environmentFile = "";
};*/
}

View file

@ -51,14 +51,35 @@ in {
};
*/
} // common;
/* "pw.dork.dev" = {
"kittywit.ch" = {
locations = {
"/_matrix" = {
proxyPass = "http://[::1]:8008";
};
"= /.well-known/matrix/server".extraConfig =
let server = { "m.server" = "kittywit.ch:443"; }; in ''
add_header Content-Type application/json;
return 200 '${builtins.toJSON server}';
'';
"= /.well-known/matrix/client".extraConfig =
let client = {
"m.homeserver" = { "base_url" = "https://kittywit.ch"; };
"m.identity_server" = { "base_url" = "https://vector.im"; };
}; in ''
add_header Content-Type application/json;
add_header Access-Control-Allow-Origin *;
return 200 '${builtins.toJSON client}';
'';
};
} // common;
"vault.kittywit.ch" = {
locations = {
"/".proxyPass = "http://127.0.0.1:4000";
"/notifications/hub".proxyPass = "http://127.0.0.1:3012";
"/notifications/hub/negotiate".proxyPass = "http://127.0.0.1:80";
};
} // common;
"git.dork.dev" = {
};
} // common;
/* "git.dork.dev" = {
locations = {
"/".proxyPass = "http://127.0.0.1:3000";
};

View file

@ -45,6 +45,8 @@ in {
keyMap = "uk";
};
services.tailscale.enable = true;
environment.systemPackages = with pkgs; [
smartmontools
hddtemp

View file

@ -21,6 +21,7 @@ in {
home.packages = [
pkgs._1password
pkgs.mpv
pkgs.element-desktop
pkgs.mumble
pkgs.obs-studio
pkgs.xfce.ristretto
@ -35,6 +36,7 @@ in {
pkgs.transmission-gtk
pkgs.jdk11
pkgs.lm_sensors
pkgs.psmisc
unstable.discord
pkgs.tdesktop
pkgs.dino

View file

@ -267,15 +267,33 @@ in {
"cpu"
"memory"
"temperature"
"tray"
"backlight"
"battery"
"tray"
];
modules = {
cpu = { format = " {usage}%"; };
memory = { format = " {percentage}%"; };
battery = { format = " {capacity}%"; };
temperature = { format = " {temperatureC}°C"; };
backlight = {
format = "{icon} {percent}%";
format-icons = [ "" "" ];
on-scroll-up = "${pkgs.light}/bin/light -A 1";
on-scroll-down = "${pkgs.light}/bin/light -U 1";
};
battery = {
states = {
good = 90;
warning = 30;
critical = 15;
};
format = "{icon} {capacity}%";
format-charging = " {capacity}%";
format-plugged = " {capacity}%";
format-alt = "{icon} {time}";
format-icons = [ "" "" "" "" "" ];
};
pulseaudio = {
format = " {volume}%";
on-click = "pavucontrol";

View file

@ -9,7 +9,7 @@
min-height: 14px
}
#clock, #memory, #cpu, #temperature, #pulseaudio, #network, #mpd {
#clock, #memory, #cpu, #temperature, #pulseaudio, #network, #mpd, #backlight, #battery {
margin-left: 8px;
margin-right: 8px;
padding-left: 8px;
@ -59,6 +59,8 @@
#network { border-color: ${colors.base16.color3} }
#pulseaudio { border-color: ${colors.base16.color2} }
#temperature { border-color: ${colors.base16.color4} }
#battery { border-color: ${colors.base16.color6} }
#backlight { border-color: ${colors.base16.color9} }
#cpu { border-color: ${colors.base16.color5} }
#memory { border-color: ${colors.base16.color17} }
#clock { border-color: ${colors.base16.color7} }

View file

@ -11,7 +11,7 @@
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCno0Ci2VEkxgWu1mR24puvphHw3KdaNelEhS7n5LEtNuFuNLd0vhQkP5sWGqg4W9pjcHELV8898Bz7+K+ikbZgD2yiK9ROFxSZc/e47H5m9Yn74blrahFmu4S1RL+UPlqnJoUwULsP28xDW3iZbBYnWffMGWXL6Yr8oAdMvOMmKf6KZ/akfRIB22kS6y1XeJnfnzQZRImr+whrNiXKrCXqlcINLkObZW0Wv+BwfXKMhD0lqlTJYAyMdmfWy7ARep032A/XE+gOcln9Ut55GcVwS45LreZuXlk66lHZvFNeK0ETa079Fl7Bx4kYhuek48bIYwpqsIPW+1CDNyeW79Fd dorkd@DESKTOP-U9VEBIL"
];
shell = pkgs.fish;
extraGroups = [ "wheel" ];
extraGroups = [ "wheel" "video" ];
};
home-manager.useGlobalPkgs = true;
@ -40,8 +40,6 @@
userEmail = "me@dork.dev";
};
programs.kakoune = { enable = true; };
programs.ssh = {
enable = true;
controlMaster = "auto";
@ -67,6 +65,37 @@
};
programs.bat.enable = true;
programs.tmux.enable = true;
programs.tmux = {
enable = true;
extraConfig = "
# modes
setw -g clock-mode-colour colour5
setw -g mode-style 'fg=colour1 bg=colour18 bold'
# panes
set -g pane-border-style 'fg=colour19 bg=colour0'
set -g pane-active-border-style 'bg=colour0 fg=colour9'
# statusbar
set -g status-position bottom
set -g status-justify left
set -g status-style 'bg=colour18 fg=colour137 dim'
set -g status-left ''
set -g status-right '#[fg=colour233,bg=colour19] %F #[fg=colour233,bg=colour8] %H:%M:%S %Z'
set -g status-right-length 50
set -g status-left-length 20
setw -g window-status-current-style 'fg=colour1 bg=colour19 bold'
setw -g window-status-current-format ' #I#[fg=colour249]:#[fg=colour255]#W#[fg=colour249]#F '
setw -g window-status-style 'fg=colour9 bg=colour18'
setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F '
setw -g window-status-bell-style 'fg=colour255 bg=colour1 bold'
# messages
set -g message-style 'fg=colour232 bg=colour16 bold'
";
};
};
}

View file

@ -40,7 +40,7 @@
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
;;pretty-code ; ligatures or substitute text with pretty symbols
pretty-code ; ligatures or substitute text with pretty symbols
;;tabs ; a tab bar for Emacs
;;treemacs ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages
@ -75,7 +75,7 @@
;;eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
;;vterm ; the best terminal emulation in Emacs
vterm ; the best terminal emulation in Emacs
:checkers
syntax ; tasing you for every semicolon you forget