formatted
Some checks are pending
/ Check formatting (push) Waiting to run

This commit is contained in:
Ittihadyya 2025-01-17 16:12:49 +02:00
parent b7bec87784
commit 311072d517
4 changed files with 206 additions and 202 deletions

View file

@ -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."
];
}

View file

@ -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;
}
)
];

View file

@ -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/";
};
};

View file

@ -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
)
];
}