extract sway system config
This commit is contained in:
parent
f17d07d18b
commit
64e43f4535
9 changed files with 157 additions and 156 deletions
|
@ -1,35 +1,43 @@
|
|||
inputs@{ system, ... }:
|
||||
(final: prev: {
|
||||
uservars = import ../user/variables.nix;
|
||||
dhist = inputs.dhist.packages.${system}.dhist;
|
||||
# alacritty = (old-pkgs.alacritty.overrideAttrs
|
||||
# (old-alacritty: rec {
|
||||
# src = inputs.alacritty-sixel;
|
||||
# cargoDeps = old-alacritty.cargoDeps.overrideAttrs
|
||||
# (old-pkgs.lib.const {
|
||||
# inherit src;
|
||||
# outputHash =
|
||||
# "sha256-2hMntoGHqoQT/Oqz261Ljif5xEuV8SnPH0m52bXdd2s=";
|
||||
# });
|
||||
# }));
|
||||
# ranger = (old-pkgs.ranger.overridePythonAttrs (old-ranger: rec {
|
||||
# src = inputs.ranger-sixel;
|
||||
# checkInputs = [ ];
|
||||
# propagatedBuildInputs = with old-pkgs.python3Packages;
|
||||
# old-ranger.propagatedBuildInputs ++ [ astroid pylint pytest ];
|
||||
# }));
|
||||
material-wifi-icons = final.stdenv.mkDerivation rec {
|
||||
name = "material-wifi-icons";
|
||||
src = inputs.material-wifi-icons;
|
||||
installPhase = let dest = "$out/share/fonts/${name}";
|
||||
in ''
|
||||
mkdir -p ${dest}
|
||||
cp material-wifi.ttf ${dest}
|
||||
'';
|
||||
};
|
||||
papirus_red = (final.unstable.papirus-icon-theme.override { color = "red"; });
|
||||
orchis_theme_compact =
|
||||
(final.orchis-theme.override { tweaks = [ "compact" "solid" ]; });
|
||||
nerdfonts_fira_hack =
|
||||
(final.nerdfonts.override { fonts = [ "FiraCode" "Hack" ]; });
|
||||
(inputs@{ system, ... }: {pkgs, ...}: {
|
||||
nixpkgs.overlays = [
|
||||
inputs.nur.overlay
|
||||
(import ../scripts)
|
||||
(import ./sway.nix)
|
||||
(final: prev: {
|
||||
unstable = inputs.nixpkgs-unstable.legacyPackages.${prev.system};
|
||||
|
||||
uservars = import ../user/variables.nix;
|
||||
dhist = inputs.dhist.packages.${system}.dhist;
|
||||
# alacritty = (old-pkgs.alacritty.overrideAttrs
|
||||
# (old-alacritty: rec {
|
||||
# src = inputs.alacritty-sixel;
|
||||
# cargoDeps = old-alacritty.cargoDeps.overrideAttrs
|
||||
# (old-pkgs.lib.const {
|
||||
# inherit src;
|
||||
# outputHash =
|
||||
# "sha256-2hMntoGHqoQT/Oqz261Ljif5xEuV8SnPH0m52bXdd2s=";
|
||||
# });
|
||||
# }));
|
||||
# ranger = (old-pkgs.ranger.overridePythonAttrs (old-ranger: rec {
|
||||
# src = inputs.ranger-sixel;
|
||||
# checkInputs = [ ];
|
||||
# propagatedBuildInputs = with old-pkgs.python3Packages;
|
||||
# old-ranger.propagatedBuildInputs ++ [ astroid pylint pytest ];
|
||||
# }));
|
||||
material-wifi-icons = final.stdenv.mkDerivation rec {
|
||||
name = "material-wifi-icons";
|
||||
src = inputs.material-wifi-icons;
|
||||
installPhase = let dest = "$out/share/fonts/${name}";
|
||||
in ''
|
||||
mkdir -p ${dest}
|
||||
cp material-wifi.ttf ${dest}
|
||||
'';
|
||||
};
|
||||
papirus_red = (final.unstable.papirus-icon-theme.override { color = "red"; });
|
||||
orchis_theme_compact =
|
||||
(final.orchis-theme.override { tweaks = [ "compact" "solid" ]; });
|
||||
nerdfonts_fira_hack =
|
||||
(final.nerdfonts.override { fonts = [ "FiraCode" "Hack" ]; });
|
||||
})
|
||||
];
|
||||
})
|
||||
|
|
37
overlays/sway.nix
Normal file
37
overlays/sway.nix
Normal file
|
@ -0,0 +1,37 @@
|
|||
(final: pkgs: {
|
||||
# bash script to let dbus know about important env variables and
|
||||
# propogate them to relevent services run at the end of sway config
|
||||
# see
|
||||
# https://github.com/emersion/xdg-desktop-portal-wlr/wiki/"It-doesn't-work"-Troubleshooting-Checklist
|
||||
# note: this is pretty much the same as /etc/sway/config.d/nixos.conf but also restarts
|
||||
# some user services to make sure they have the correct environment variables
|
||||
dbus-sway-environment = pkgs.writeTextFile {
|
||||
name = "dbus-sway-environment";
|
||||
destination = "/bin/dbus-sway-environment";
|
||||
executable = true;
|
||||
text = ''
|
||||
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||||
systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||
systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||
'';
|
||||
};
|
||||
# currently, there is some friction between sway and gtk:
|
||||
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
|
||||
# the suggested way to set gtk settings is with gsettings
|
||||
# for gsettings to work, we need to tell it where the schemas are
|
||||
# using the XDG_DATA_DIR environment variable
|
||||
# run at the end of sway config
|
||||
configure-gtk = pkgs.writeTextFile {
|
||||
name = "configure-gtk";
|
||||
destination = "/bin/configure-gtk";
|
||||
executable = true;
|
||||
text = let
|
||||
schema = pkgs.gsettings-desktop-schemas;
|
||||
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
|
||||
in ''
|
||||
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
|
||||
gnome_schema=org.gnome.desktop.interface
|
||||
# gsettings set $gnome_schema gtk-theme 'Dracula'
|
||||
'';
|
||||
};
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue