Change from Gnome to Sway

This commit is contained in:
Greg Hellings
2024-02-26 11:39:56 -06:00
parent cedf3fa4e6
commit 01961ca374
14 changed files with 217 additions and 127 deletions
+2
View File
@@ -3,7 +3,9 @@
{
imports = [
./gnome.nix
./gui.nix
./python.nix
./sway.nix
./xonsh.nix
];
}
+89
View File
@@ -0,0 +1,89 @@
{ config, pkgs, lib, ... }:
let
cfg = config.greg.gui;
excludes = systems: opts: (
if ( builtins.all (x: pkgs.system != x) systems ) then opts else []
);
# For now, we ignore this and don't install it
ffPkgs = if ( pkgs.stdenv.hostPlatform.isDarwin )
then pkgs.firefox-bin
else pkgs.firefox-wayland.override { cfg.enableGnomeExtensions = true; };
vars = {
MOZ_ENABLE_WAYLAND = "1";
XDG_CURRENT_DESKTOP = "sway";
};
in {
options.greg.gui = lib.mkEnableOption "Enable GUI programs";
config = (lib.mkIf cfg {
# These packages are Linux only
home.packages = with pkgs; ( excludes ["x86_64-darwin" "aarch64-darwin"]
[
cdrtools
element-desktop
vlc
x265
]) ++
# x86_64-linux only
( excludes ["x86_64-darwin" "aarch64-darwin" "aarch64-linux"]
[
bitwarden
discord
endeavour
gnucash
jellyfin-media-player
libreoffice
#logseq
nextcloud-client
slack
]) ++
# Items that are not supported on ARM/Linux
( excludes ["aarch64-linux"]
[
onlyoffice-bin
synology-drive-client
zoom-us
]);
programs.firefox = {
enable = (! pkgs.stdenv.hostPlatform.isDarwin);
package = ffPkgs;
profiles = {
default = {
settings = {
"app.update.auto" = false;
"browser.ctrlTab.sortByRecentlyUsed" = true;
"browser.startup.page" = 3;
"browser.startup.homepage" = "https://thehellings.com";
"doh-rollout.doorhanger-decision" = "UIDisabled";
"doh-rollout.doneFirstRun" = true;
"signon.rememberSignons" = false;
};
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
bitwarden
bypass-paywalls-clean
gsconnect
foxyproxy-standard
multi-account-containers
plasma-integration
octotree
refined-github
tree-style-tab
ublock-origin
unpaywall
];
};
};
};
# This is supposed to be in support of Firefox, but I dunno...
programs.bash.sessionVariables = vars;
programs.xonsh.sessionVariables = vars;
});
}
+71
View File
@@ -0,0 +1,71 @@
{ config, pkgs, lib, ... }:
let
cfg = config.greg.sway;
in {
options.greg.sway = lib.mkEnableOption "Enable Sway support and settings";
config = (lib.mkIf cfg {
programs.swaylock.enable = true;
wayland.windowManager.sway = {
enable = true;
config = rec {
#fonts.size = 10.0;
keybindings = lib.mkOptionDefault {
"Mod3+l" = "${pkgs.swaylock}/bin/swaylock";
};
modifier = "Mod1";
output = {
"Samsung Electric Company S24E650 H4ZN600985" = {
mode = "1920x1200";
transform = "90";
pos = "0 0";
};
"ViewSonic Corporation VA2252 Series VMT201800925" = {
mode = "1920x1080";
pos = "200 1920";
};
};
terminal = "${pkgs.alacritty}/bin/alacritty";
startup = [
{ command = "firefox"; }
];
};
extraOptions = [
"--unsupported-gpu"
];
extraSessionCommands = ''
export WLR_NO_HARDWARE_CURSORS=1
'';
systemd.enable = true;
wrapperFeatures = {
base = true;
gtk = true;
};
};
home.pointerCursor = {
name = "Adwaita";
package = pkgs.gnome.adwaita-icon-theme;
size = 12;
x11 = {
enable = true;
defaultCursor = "Adwaita";
};
};
home.packages = with pkgs; [
arj
dpkg
kate
kget
krename
krusader
p7zip
plocate
rpm
xxdiff
];
});
}