diff --git a/apps.mod.nix b/apps.mod.nix index 107014f..c4cd0c0 100644 --- a/apps.mod.nix +++ b/apps.mod.nix @@ -44,7 +44,7 @@ users.users.emv.extraGroups = ["video"]; nixpkgs.config.permittedInsecurePackages = [ "fluffychat-linux-1.23.0" # it uses an insecure implementation of olm. but the devs are allegedly trying to move to vodozemac (which is an implementation that is not (at least publically announced as) insecure) . Using it instead of element because 1) i don't think the vulnerability is very relevant to our current threat model (as far as we're aware, it requires network or even hardware access, at which point you can already beat me with a baseball bat) and 2) out of the desktop clients, this seems to be one of the only ones with proper multi-account support?? - "olm-3.2.16" # tbh i still find it funny that a cryptographic library with a vuln known for several years before this is still used. + "olm-3.2.16" # tbh i still find it funny that a cryptographic library with a vuln known for several years before this is still used. # "Note that these are not cryptographically secure implementations. They have no resistence to side-channel attacks and should not be used in contexts that need cryptographically secure implementations. These algorithms are not optimized for speed or space. They are primarily designed to be easy to read, although some basic optimization techniques have been employed." ]; } diff --git a/nerd.mod.nix b/nerd.mod.nix index 38a6410..032f66f 100644 --- a/nerd.mod.nix +++ b/nerd.mod.nix @@ -3,12 +3,12 @@ ( {pkgs, ...}: { home.packages = with pkgs; [ - # geogebra6 # geogebra5 currently does not work? + # geogebra6 # geogebra5 currently does not work? gimp chemtool avogadro2 ]; - # programs.sagemath.enable = true; + # programs.sagemath.enable = true; } ) ]; diff --git a/services/social/conduwuit.mod.nix b/services/social/conduwuit.mod.nix index d3b0044..2c58534 100644 --- a/services/social/conduwuit.mod.nix +++ b/services/social/conduwuit.mod.nix @@ -13,11 +13,12 @@ max_request_size = 1024 * 1024 * 1024; address = ["0.0.0.0"]; port = [7893]; - /* well-known = { + /* + well-known = { client = "https://matrix.collective-conciousness.monster"; server = "collective-conciousness.monster:8448"; }; - */ + */ # database_path = lib.mkForce "/var/services/conduwuit/"; }; }; diff --git a/sway.mod.nix b/sway.mod.nix index ed7dded..3285316 100644 --- a/sway.mod.nix +++ b/sway.mod.nix @@ -24,215 +24,218 @@ pkgs, config, ... - }: { - wayland.windowManager.sway = { - enable = true; - systemd.enable = true; + }: + { + wayland.windowManager.sway = { + enable = true; + systemd.enable = true; - package = pkgs.sway; + package = pkgs.sway; - config = { - modifier = "Mod4"; - fonts = lib.mkDefault { - names = ["pango"]; - style = "monospace"; - size = 8.0; - }; - terminal = "terminator"; - - keybindings = let - mod = config.wayland.windowManager.sway.config.modifier; - term = config.wayland.windowManager.sway.config.terminal; - rofi = "rofi"; - in { - "${mod}+Return" = "exec ${term}"; # opens a terminal window - "${mod}+Shift+q" = "kill"; # kills the active window - - "${mod}+s" = ''exec --no-startup-id ${rofi} -run-command "/bin/sh -i -c '{cmd}'" -show combi''; # opens rofi - "${mod}+Tab" = "exec --no-startup-id ${rofi} -show window"; - - # "${mod}+p" = ''mode "resize"''; - "${mod}+o" = "exec swaylock"; # locks the session, requiring password to unlock. - - ### move focus - "${mod}+Left" = "focus left"; - "${mod}+Down" = "focus down"; - "${mod}+Up" = "focus up"; - "${mod}+Right" = "focus right"; - - ### move windows - "${mod}+Shift+Left" = "move left"; - "${mod}+Shift+Down" = "move down"; - "${mod}+Shift+Up" = "move up"; - "${mod}+Shift+Right" = "move right"; - - "${mod}+Shift+m" = "split h"; # Horizontal split - "${mod}+Shift+v" = "split v"; # Vertical Split - - "${mod}+t" = "fullscreen toggle"; # fullscreen - - "${mod}+r" = "layout stacking"; - "${mod}+w" = "layout tabbed"; - "${mod}+e" = "layout toggle split"; - - "${mod}+Shift+Space" = "floating toggle"; - "${mod}+Space" = "focus mode_toggle"; # change focus between tiling and floating - - "${mod}+a" = "focus parent"; - "${mod}+Shift+a" = "focus child"; - - "${mod}+Shift+d" = "reload"; - - ### moves user around - "${mod}+1" = "workspace number 1"; - "${mod}+2" = "workspace number 2"; - "${mod}+3" = "workspace number 3"; - "${mod}+4" = "workspace number 4"; - "${mod}+5" = "workspace number 5"; - "${mod}+6" = "workspace number 6"; - "${mod}+7" = "workspace number 7"; - "${mod}+8" = "workspace number 8"; - "${mod}+9" = "workspace number 9"; - "${mod}+0" = "workspace number 10"; - - ### moves containers around - "${mod}+Shift+1" = "move container to workspace number 1"; - "${mod}+Shift+2" = "move container to workspace number 2"; - "${mod}+Shift+3" = "move container to workspace number 3"; - "${mod}+Shift+4" = "move container to workspace number 4"; - "${mod}+Shift+5" = "move container to workspace number 5"; - "${mod}+Shift+6" = "move container to workspace number 6"; - "${mod}+Shift+7" = "move container to workspace number 7"; - "${mod}+Shift+8" = "move container to workspace number 8"; - "${mod}+Shift+9" = "move container to workspace number 9"; - "${mod}+Shift+0" = "move container to workspace number 10"; - }; - - ### TODO : Resize mode and automatic floating - assigns = { - "1:说" = [{title = "^Signal$|Discord$|FluffyChat$";}]; - "2:main" = [{title = "VSCodium$";}]; - "3:browsing" = [{title = "LibreWolf$";}]; - "4:misc" = []; - "5:5" = []; - "6:6" = []; - "7:7" = []; - "8:8" = []; - "9:9" = []; - "0:audio" = [{title = "pwvucontrol$|noisetorch$";}]; - }; - - /* # commented out as they're automagically handled by stylix - colors = { - # should probably use a let ... in ... here - background = "#212121"; - focused = { - border = "#2b83a6"; - background = "#2b83a6"; - text = "#ffffff"; - indicator = "#dddddd"; - childBorder = "#2b83a6"; + config = { + modifier = "Mod4"; + fonts = lib.mkDefault { + names = ["pango"]; + style = "monospace"; + size = 8.0; }; - focusedInactive = { - border = "#212121"; + terminal = "terminator"; + + keybindings = let + mod = config.wayland.windowManager.sway.config.modifier; + term = config.wayland.windowManager.sway.config.terminal; + rofi = "rofi"; + in { + "${mod}+Return" = "exec ${term}"; # opens a terminal window + "${mod}+Shift+q" = "kill"; # kills the active window + + "${mod}+s" = ''exec --no-startup-id ${rofi} -run-command "/bin/sh -i -c '{cmd}'" -show combi''; # opens rofi + "${mod}+Tab" = "exec --no-startup-id ${rofi} -show window"; + + # "${mod}+p" = ''mode "resize"''; + "${mod}+o" = "exec swaylock"; # locks the session, requiring password to unlock. + + ### move focus + "${mod}+Left" = "focus left"; + "${mod}+Down" = "focus down"; + "${mod}+Up" = "focus up"; + "${mod}+Right" = "focus right"; + + ### move windows + "${mod}+Shift+Left" = "move left"; + "${mod}+Shift+Down" = "move down"; + "${mod}+Shift+Up" = "move up"; + "${mod}+Shift+Right" = "move right"; + + "${mod}+Shift+m" = "split h"; # Horizontal split + "${mod}+Shift+v" = "split v"; # Vertical Split + + "${mod}+t" = "fullscreen toggle"; # fullscreen + + "${mod}+r" = "layout stacking"; + "${mod}+w" = "layout tabbed"; + "${mod}+e" = "layout toggle split"; + + "${mod}+Shift+Space" = "floating toggle"; + "${mod}+Space" = "focus mode_toggle"; # change focus between tiling and floating + + "${mod}+a" = "focus parent"; + "${mod}+Shift+a" = "focus child"; + + "${mod}+Shift+d" = "reload"; + + ### moves user around + "${mod}+1" = "workspace number 1"; + "${mod}+2" = "workspace number 2"; + "${mod}+3" = "workspace number 3"; + "${mod}+4" = "workspace number 4"; + "${mod}+5" = "workspace number 5"; + "${mod}+6" = "workspace number 6"; + "${mod}+7" = "workspace number 7"; + "${mod}+8" = "workspace number 8"; + "${mod}+9" = "workspace number 9"; + "${mod}+0" = "workspace number 10"; + + ### moves containers around + "${mod}+Shift+1" = "move container to workspace number 1"; + "${mod}+Shift+2" = "move container to workspace number 2"; + "${mod}+Shift+3" = "move container to workspace number 3"; + "${mod}+Shift+4" = "move container to workspace number 4"; + "${mod}+Shift+5" = "move container to workspace number 5"; + "${mod}+Shift+6" = "move container to workspace number 6"; + "${mod}+Shift+7" = "move container to workspace number 7"; + "${mod}+Shift+8" = "move container to workspace number 8"; + "${mod}+Shift+9" = "move container to workspace number 9"; + "${mod}+Shift+0" = "move container to workspace number 10"; + }; + + ### TODO : Resize mode and automatic floating + assigns = { + "1:说" = [{title = "^Signal$|Discord$|FluffyChat$";}]; + "2:main" = [{title = "VSCodium$";}]; + "3:browsing" = [{title = "LibreWolf$";}]; + "4:misc" = []; + "5:5" = []; + "6:6" = []; + "7:7" = []; + "8:8" = []; + "9:9" = []; + "0:audio" = [{title = "pwvucontrol$|noisetorch$";}]; + }; + + /* + # commented out as they're automagically handled by stylix + colors = { + # should probably use a let ... in ... here background = "#212121"; - text = "#86888c"; - indicator = "#292d2e"; - childBorder = "#5a5a5a"; - }; - unfocused = { - border = "#212121"; - background = "#212121"; - text = "#86888c"; - indicator = "#292d2e"; - childBorder = "#5a5a5a"; - }; - urgent = { - border = "#d64e4e"; - background = "#d64e4e"; - text = "#ffffff"; - indicator = "#d64e4e"; - childBorder = "#d64e4e"; - }; - placeholder = { - border = "#212121"; - background = "#0c0c0c"; - text = "#ffffff"; - indicator = "#212121"; - childBorder = "#262626"; - }; - }; - */ - - bars = [ - { - statusCommand = "\${pkgs.swayrbar}/bin/swayrbar"; - position = "bottom"; - trayOutput = "primary"; - # separatorSymbol = "·"; - workspaceButtons = true; - workspaceNumbers = false; - - colors = { - # again, should probably use a let ... in ... statement here. - background = "#212121"; - statusline = "#dddddd"; - separator = "#666666"; - focusedWorkspace = { - border = "#2b83a6"; - background = "#2b83a6"; - text = "#ffffff"; - }; - activeWorkspace = { - border = "#212121"; - background = "#212121"; - text = "#ffffff"; - }; - inactiveWorkspace = { - border = "#212121"; - background = "#212121"; - text = "#86888c"; - }; - urgentWorkspace = { - border = "#d64e4e"; - background = "#d64e4e"; - text = "#ffffff"; - }; - bindingMode = { - border = "#229c56"; - background = "#229c56"; - text = "#ffffff"; - }; + focused = { + border = "#2b83a6"; + background = "#2b83a6"; + text = "#ffffff"; + indicator = "#dddddd"; + childBorder = "#2b83a6"; + }; + focusedInactive = { + border = "#212121"; + background = "#212121"; + text = "#86888c"; + indicator = "#292d2e"; + childBorder = "#5a5a5a"; + }; + unfocused = { + border = "#212121"; + background = "#212121"; + text = "#86888c"; + indicator = "#292d2e"; + childBorder = "#5a5a5a"; + }; + urgent = { + border = "#d64e4e"; + background = "#d64e4e"; + text = "#ffffff"; + indicator = "#d64e4e"; + childBorder = "#d64e4e"; + }; + placeholder = { + border = "#212121"; + background = "#0c0c0c"; + text = "#ffffff"; + indicator = "#212121"; + childBorder = "#262626"; }; - } - ]; - output = { - DP-3 = { - mode = "3440x1440@144.000Hz"; }; - }; + */ - input = { - "10429:2335:UGTABLET_11.6_inch_PenDisplay" = { - map_to_output = ''"UGD Artist 12 pro 0x19201012"''; + bars = [ + { + statusCommand = "\${pkgs.swayrbar}/bin/swayrbar"; + position = "bottom"; + trayOutput = "primary"; + # separatorSymbol = "·"; + workspaceButtons = true; + workspaceNumbers = false; + + colors = { + # again, should probably use a let ... in ... statement here. + background = "#212121"; + statusline = "#dddddd"; + separator = "#666666"; + focusedWorkspace = { + border = "#2b83a6"; + background = "#2b83a6"; + text = "#ffffff"; + }; + activeWorkspace = { + border = "#212121"; + background = "#212121"; + text = "#ffffff"; + }; + inactiveWorkspace = { + border = "#212121"; + background = "#212121"; + text = "#86888c"; + }; + urgentWorkspace = { + border = "#d64e4e"; + background = "#d64e4e"; + text = "#ffffff"; + }; + bindingMode = { + border = "#229c56"; + background = "#229c56"; + text = "#ffffff"; + }; + }; + } + ]; + output = { + DP-3 = { + mode = "3440x1440@144.000Hz"; + }; }; - "type:keyboard" = { - xkb_layout = "ro,us(colemak_dh)"; - xkb_options = "grp:rctrl_toggle"; + + input = { + "10429:2335:UGTABLET_11.6_inch_PenDisplay" = { + map_to_output = ''"UGD Artist 12 pro 0x19201012"''; + }; + "type:keyboard" = { + xkb_layout = "ro,us(colemak_dh)"; + xkb_options = "grp:rctrl_toggle"; + }; }; - }; - gaps = { - smartGaps = true; - inner = 8; - outer = 2; - }; + gaps = { + smartGaps = true; + inner = 8; + outer = 2; + }; - workspaceAutoBackAndForth = true; - workspaceLayout = "tabbed"; + workspaceAutoBackAndForth = true; + workspaceLayout = "tabbed"; + }; }; - }; - }Signal + } + Signal ) ]; }