This commit is contained in:
parent
b7bec87784
commit
311072d517
4 changed files with 206 additions and 202 deletions
|
@ -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."
|
||||
];
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
)
|
||||
];
|
||||
|
|
|
@ -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/";
|
||||
};
|
||||
};
|
||||
|
|
397
sway.mod.nix
397
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
|
||||
)
|
||||
];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue