From 6a0f64b846de79339e41c1cb46c4ff80b293bb9f Mon Sep 17 00:00:00 2001 From: kat witch Date: Wed, 10 Feb 2021 17:38:29 +0000 Subject: [PATCH] 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. --- config/hosts/beltane/configuration.nix | 3 ++ config/hosts/beltane/services/bitwarden.nix | 4 +-- config/hosts/beltane/services/matrix.nix | 18 ++++++++-- config/hosts/beltane/services/nginx.nix | 29 +++++++++++++--- config/profiles/common/default.nix | 2 ++ config/profiles/desktop/default.nix | 2 ++ config/profiles/sway/default.nix | 22 ++++++++++-- config/profiles/sway/waybar.css.nix | 4 ++- config/users/kat/default.nix | 37 ++++++++++++++++++--- config/users/kat/doom.d/init.el | 4 +-- nix/sources.json | 30 ++++++++++++----- pkgs/default.nix | 3 ++ 12 files changed, 132 insertions(+), 26 deletions(-) diff --git a/config/hosts/beltane/configuration.nix b/config/hosts/beltane/configuration.nix index e94e10bc..082a38ba 100644 --- a/config/hosts/beltane/configuration.nix +++ b/config/hosts/beltane/configuration.nix @@ -4,9 +4,12 @@ let unstable = import { }; 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"; diff --git a/config/hosts/beltane/services/bitwarden.nix b/config/hosts/beltane/services/bitwarden.nix index 9f406f70..7b8b513a 100644 --- a/config/hosts/beltane/services/bitwarden.nix +++ b/config/hosts/beltane/services/bitwarden.nix @@ -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"; }; }; } diff --git a/config/hosts/beltane/services/matrix.nix b/config/hosts/beltane/services/matrix.nix index ed6494e2..ecb7760a 100644 --- a/config/hosts/beltane/services/matrix.nix +++ b/config/hosts/beltane/services/matrix.nix @@ -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 = ""; + };*/ } diff --git a/config/hosts/beltane/services/nginx.nix b/config/hosts/beltane/services/nginx.nix index da786210..4677cc1f 100644 --- a/config/hosts/beltane/services/nginx.nix +++ b/config/hosts/beltane/services/nginx.nix @@ -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"; }; diff --git a/config/profiles/common/default.nix b/config/profiles/common/default.nix index ea90a87d..250c613a 100644 --- a/config/profiles/common/default.nix +++ b/config/profiles/common/default.nix @@ -45,6 +45,8 @@ in { keyMap = "uk"; }; + services.tailscale.enable = true; + environment.systemPackages = with pkgs; [ smartmontools hddtemp diff --git a/config/profiles/desktop/default.nix b/config/profiles/desktop/default.nix index f8710ed3..8f27f001 100644 --- a/config/profiles/desktop/default.nix +++ b/config/profiles/desktop/default.nix @@ -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 diff --git a/config/profiles/sway/default.nix b/config/profiles/sway/default.nix index 95a8ced2..68554269 100644 --- a/config/profiles/sway/default.nix +++ b/config/profiles/sway/default.nix @@ -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"; diff --git a/config/profiles/sway/waybar.css.nix b/config/profiles/sway/waybar.css.nix index 1179863a..9267e1fd 100644 --- a/config/profiles/sway/waybar.css.nix +++ b/config/profiles/sway/waybar.css.nix @@ -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} } diff --git a/config/users/kat/default.nix b/config/users/kat/default.nix index 6361da5d..1efb8207 100644 --- a/config/users/kat/default.nix +++ b/config/users/kat/default.nix @@ -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' + "; + }; }; } diff --git a/config/users/kat/doom.d/init.el b/config/users/kat/doom.d/init.el index 726b6f43..712c5fc5 100644 --- a/config/users/kat/doom.d/init.el +++ b/config/users/kat/doom.d/init.el @@ -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 diff --git a/nix/sources.json b/nix/sources.json index 7a0ca472..b3423e3c 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -1,4 +1,16 @@ { + "arc-nixexprs": { + "branch": "master", + "description": "nix stuff", + "homepage": null, + "owner": "arcnmx", + "repo": "nixexprs", + "rev": "692466a7f316e69715a0298643ddf75d2157d8d9", + "sha256": "0jm71p6cnn8f0fdmmi46gmgr0fm5i050zlwz4xggwj8bhf13crpw", + "type": "tarball", + "url": "https://github.com/arcnmx/nixexprs/archive/692466a7f316e69715a0298643ddf75d2157d8d9.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + }, "home-manager": { "branch": "release-20.09", "description": "Manage a user environment using Nix [maintainer=@rycee] ", @@ -23,15 +35,6 @@ "url": "https://github.com/nmattia/niv/archive/3cd7914b2c4cff48927e11c216dadfab7d903fe5.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, - "nixos-mailserver": { - "ref": "nixos-20.09", - "repo": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver", - "rev": "fb1cc04c0a517d4200237b02c3472bcaf9104afb", - "sha256": "0vsvgxxg5cgmzwj98171j7h5l028f1yq784alb3lxgbk8znfk51y", - "type": "tarball", - "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/archive/fb1cc04c0a517d4200237b02c3472bcaf9104afb/nixos-mailserver-fb1cc04c0a517d4200237b02c3472bcaf9104afb.tar.gz", - "url_template": "/-/archive/.tar.gz" - }, "nix-doom-emacs": { "branch": "master", "description": "doom-emacs packaged for Nix", @@ -44,6 +47,15 @@ "url": "https://github.com/vlaci/nix-doom-emacs/archive/b182af7d10aa8394f12ecc2c53fd942fa30de060.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, + "nixos-mailserver": { + "ref": "nixos-20.09", + "repo": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver", + "rev": "fb1cc04c0a517d4200237b02c3472bcaf9104afb", + "sha256": "0vsvgxxg5cgmzwj98171j7h5l028f1yq784alb3lxgbk8znfk51y", + "type": "tarball", + "url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/archive/fb1cc04c0a517d4200237b02c3472bcaf9104afb/nixos-mailserver-fb1cc04c0a517d4200237b02c3472bcaf9104afb.tar.gz", + "url_template": "/-/archive/.tar.gz" + }, "nixpkgs": { "branch": "release-20.09", "description": "Nix Packages collection", diff --git a/pkgs/default.nix b/pkgs/default.nix index 90bbf3f4..aa6e1df5 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -11,6 +11,9 @@ let inherit (pkgs) dino; }; + matrix-appservice-irc = callPackage "${sources.arc-nixexprs}/pkgs/public/matrix" {}; + mx-puppet-discord = callPackage "${sources.arc-nixexprs}/pkgs/public/mx-puppet-discord" {}; + discord = pkgs.discord.override { nss = pkgs.nss_latest; }; linuxPackagesFor = kernel: