revisions to i3
This commit is contained in:
parent
8fb3dcb013
commit
026d09a189
2 changed files with 93 additions and 58 deletions
|
|
@ -3,6 +3,14 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
polybar
|
(polybar.override {
|
||||||
|
alsaSupport = false;
|
||||||
|
curlSupport = true;
|
||||||
|
i3Support = true;
|
||||||
|
mpdSupport = true;
|
||||||
|
pulseSupport = true;
|
||||||
|
nlSupport = true;
|
||||||
|
iwSupport = true;
|
||||||
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,26 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
customPkgs = import ../pkgs {inherit pkgs lib;};
|
wallpapers = [
|
||||||
|
"${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/backgrounds/nixos/nixos-wallpaper.png"
|
||||||
|
"${pkgs.nixos-artwork.wallpapers.gnome-dark}/share/backgrounds/gnome/gnome-dark.png"
|
||||||
|
"${pkgs.nixos-artwork.wallpapers.nineish-dark-gray}/share/backgrounds/nixos/nixos-wallpaper.png"
|
||||||
|
];
|
||||||
|
|
||||||
|
randomWallpaper = pkgs.writeShellScript "wallpaper.sh" ''
|
||||||
|
#!${pkgs.runtimeShell}
|
||||||
|
set -e
|
||||||
|
BG_DIR="/var/lib/lightdm-background"
|
||||||
|
BG_LINK="$BG_DIR/current-wallpaper.png"
|
||||||
|
mkdir -p "$BG_DIR"
|
||||||
|
WALLPAPERS=( ${builtins.concatStringsSep " " (map (w: "\"${w}\"") wallpapers)} )
|
||||||
|
COUNT=''${#WALLPAPERS[@]}
|
||||||
|
if [[ "$COUNT" -eq 0 ]]; then exit 1; fi
|
||||||
|
RAND=$(shuf -i 0-$(($COUNT - 1)) -n 1)
|
||||||
|
SELECT=''${WALLPAPERS[$RAND]}
|
||||||
|
ln -sf "$SELECT" "$BG_LINK"
|
||||||
|
'';
|
||||||
in {
|
in {
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
services.xserver.xkb = {
|
services.xserver.xkb = {
|
||||||
|
|
@ -28,20 +45,16 @@ in {
|
||||||
xsettingsd
|
xsettingsd
|
||||||
];
|
];
|
||||||
extraSessionCommands = ''
|
extraSessionCommands = ''
|
||||||
${pkgs.feh}/bin/feh --randomize --bg-fill ~/wallpapers/* 2>/dev/null || ${pkgs.feh}/bin/feh --bg-fill ${pkgs.nixos-artwork.wallpapers.nineish-dark-gray}/share/backgrounds/nixos/nineish-dark-gray.png &
|
|
||||||
|
|
||||||
export GSETTINGS_SCHEMA_DIR="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas"
|
export GSETTINGS_SCHEMA_DIR="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas"
|
||||||
export XDG_DATA_DIRS="${pkgs.gsettings-desktop-schemas}/share:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}:${pkgs.tokyonight-gtk-theme}/share:${customPkgs.vivid-icons}/share:${pkgs.hicolor-icon-theme}/share:$XDG_DATA_DIRS"
|
|
||||||
|
|
||||||
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface gtk-theme "Tokyonight-Dark"
|
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface gtk-theme "Tokyonight-Dark"
|
||||||
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface icon-theme "Vivid-Magna-Glassy-Dark-Icons"
|
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface icon-theme "candy-icons"
|
||||||
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface cursor-theme "capitaine-cursors"
|
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface cursor-theme "capitaine-cursors"
|
||||||
mkdir -p $HOME/.config
|
|
||||||
cat > $HOME/.config/xsettingsd << EOF
|
cat > $HOME/.config/xsettingsd << EOF
|
||||||
Net/ThemeName "Tokyonight-Dark"
|
Net/ThemeName "Tokyonight-Dark"
|
||||||
Net/IconThemeName "Vivid-Magna-Glassy-Dark-Icons"
|
Net/IconThemeName "candy-icons"
|
||||||
Gtk/CursorThemeName "capitaine-cursors"
|
Gtk/CursorThemeName "capitaine-cursors"
|
||||||
EOF
|
EOF
|
||||||
|
killall xsettingsd || true
|
||||||
${pkgs.xsettingsd}/bin/xsettingsd &
|
${pkgs.xsettingsd}/bin/xsettingsd &
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
@ -54,7 +67,7 @@ EOF
|
||||||
|
|
||||||
services.xserver.displayManager.lightdm = {
|
services.xserver.displayManager.lightdm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
background = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/backgrounds/nixos/nixos-wallpaper.png";
|
background = "/var/lib/lightdm-background/current-wallpaper.png";
|
||||||
greeters.gtk = {
|
greeters.gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = {
|
theme = {
|
||||||
|
|
@ -62,8 +75,8 @@ EOF
|
||||||
name = "Tokyonight-Dark";
|
name = "Tokyonight-Dark";
|
||||||
};
|
};
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
package = customPkgs.vivid-icons;
|
package = pkgs.candy-icons;
|
||||||
name = "Vivid-Magna-Glassy-Dark-Icons";
|
name = "candy-icons";
|
||||||
};
|
};
|
||||||
cursorTheme = {
|
cursorTheme = {
|
||||||
package = pkgs.capitaine-cursors;
|
package = pkgs.capitaine-cursors;
|
||||||
|
|
@ -71,12 +84,36 @@ EOF
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
[greeter]
|
[greeter]
|
||||||
|
greeting = Welcome back, Traveller
|
||||||
font-name=Clear Sans 10
|
font-name=Clear Sans 10
|
||||||
cursor-theme-name=capitaine-cursors
|
cursor-theme-name=capitaine-cursors
|
||||||
|
icon-theme-name=candy-icons
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /var/lib/lightdm-background 0755 lightdm lightdm - -"
|
||||||
|
"L+ /var/lib/lightdm-background/current-wallpaper.png - - - - ${builtins.elemAt wallpapers 0}"
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.services.random-wallpaper = {
|
||||||
|
description = "Update wallpaper to a random image";
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${randomWallpaper}";
|
||||||
|
User = "root";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.timers.random-wallpaper = {
|
||||||
|
description = "Daily wallpaper refresh for LightDM";
|
||||||
|
wantedBy = ["timers.target"];
|
||||||
|
timerConfig = {
|
||||||
|
OnCalendar = "daily";
|
||||||
|
Persistent = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.displayManager.defaultSession = "xfce+i3";
|
services.displayManager.defaultSession = "xfce+i3";
|
||||||
services.displayManager.autoLogin = {
|
services.displayManager.autoLogin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -85,13 +122,13 @@ EOF
|
||||||
|
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
platformTheme = "gtk2";
|
platformTheme = "qt5ct";
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.etc = {
|
environment.etc = {
|
||||||
"gtk-2.0/gtkrc".text = ''
|
"gtk-2.0/gtkrc".text = ''
|
||||||
gtk-theme-name="Tokyonight-Dark"
|
gtk-theme-name="Tokyonight-Dark"
|
||||||
gtk-icon-theme-name="Vivid-Magna-Glassy-Dark-Icons"
|
gtk-icon-theme-name="candy-icons"
|
||||||
gtk-font-name="Clear Sans 10"
|
gtk-font-name="Clear Sans 10"
|
||||||
gtk-cursor-theme-name="capitaine-cursors"
|
gtk-cursor-theme-name="capitaine-cursors"
|
||||||
gtk-cursor-theme-size=24
|
gtk-cursor-theme-size=24
|
||||||
|
|
@ -100,74 +137,64 @@ EOF
|
||||||
[Settings]
|
[Settings]
|
||||||
gtk-application-prefer-dark-theme=1
|
gtk-application-prefer-dark-theme=1
|
||||||
gtk-theme-name=Tokyonight-Dark
|
gtk-theme-name=Tokyonight-Dark
|
||||||
gtk-icon-theme-name=Vivid-Magna-Glassy-Dark-Icons
|
gtk-icon-theme-name="candy-icons"
|
||||||
gtk-font-name=Clear Sans 10
|
gtk-font-name="Clear Sans 10"
|
||||||
gtk-cursor-theme-name=capitaine-cursors
|
gtk-cursor-theme-name="capitaine-cursors"
|
||||||
gtk-cursor-theme-size=24
|
gtk-cursor-theme-size=24
|
||||||
'';
|
'';
|
||||||
"gtk-4.0/settings.ini".text = ''
|
"gtk-4.0/settings.ini".text = ''
|
||||||
[Settings]
|
[Settings]
|
||||||
gtk-application-prefer-dark-theme=1
|
gtk-application-prefer-dark-theme=1
|
||||||
gtk-theme-name=Tokyonight-Dark
|
gtk-theme-name=Tokyonight-Dark
|
||||||
gtk-icon-theme-name=Vivid-Magna-Glassy-Dark-Icons
|
gtk-icon-theme-name="candy-icons"
|
||||||
gtk-font-name=Clear Sans 10
|
gtk-font-name="Clear Sans 10"
|
||||||
gtk-cursor-theme-name=capitaine-cursors
|
gtk-cursor-theme-name="capitaine-cursors"
|
||||||
gtk-cursor-theme-size=24
|
gtk-cursor-theme-size=24
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.variables = {
|
|
||||||
GTK_THEME = "Tokyonight-Dark";
|
|
||||||
ICON_THEME = "Vivid-Magna-Glassy-Dark-Icons";
|
|
||||||
XCURSOR_THEME = "capitaine-cursors";
|
|
||||||
XCURSOR_SIZE = "24";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
arandr
|
arandr
|
||||||
nitrogen
|
|
||||||
xclip
|
xclip
|
||||||
lxappearance
|
lxappearance
|
||||||
gnome-themes-extra
|
|
||||||
gsettings-desktop-schemas
|
gsettings-desktop-schemas
|
||||||
adwaita-qt
|
adwaita-qt
|
||||||
arc-theme
|
|
||||||
arc-icon-theme
|
|
||||||
papirus-icon-theme
|
|
||||||
numix-icon-theme-circle
|
|
||||||
candy-icons
|
candy-icons
|
||||||
capitaine-cursors
|
capitaine-cursors
|
||||||
tokyonight-gtk-theme
|
tokyonight-gtk-theme
|
||||||
nix-prefetch-git
|
xsettingsd
|
||||||
hicolor-icon-theme
|
hicolor-icon-theme
|
||||||
adwaita-icon-theme
|
adwaita-icon-theme
|
||||||
xsettingsd
|
breeze-icons
|
||||||
] ++ (with customPkgs; [
|
gnome-themes-extra
|
||||||
vivid-icons
|
];
|
||||||
]);
|
|
||||||
|
|
||||||
environment.pathsToLink = [
|
environment.pathsToLink = [
|
||||||
"/share/icons"
|
"/share/icons"
|
||||||
"/share/pixmaps"
|
"/share/pixmaps"
|
||||||
];
|
];
|
||||||
|
|
||||||
services.xserver.desktopManager.session = [{
|
services.xserver.desktopManager.session = [
|
||||||
name = "xfce+i3";
|
{
|
||||||
start = ''
|
name = "xfce+i3";
|
||||||
export XDG_DATA_DIRS="${pkgs.tokyonight-gtk-theme}/share:${customPkgs.vivid-icons}/share:${pkgs.hicolor-icon-theme}/share:${pkgs.adwaita-icon-theme}/share:$XDG_DATA_DIRS"
|
start = ''
|
||||||
${pkgs.xfce.xfce4-session}/bin/xfce4-session --with-ck-launch &
|
export XDG_DATA_DIRS="${pkgs.tokyonight-gtk-theme}/share:${pkgs.candy-icons}/share:${pkgs.hicolor-icon-theme}/share:${pkgs.adwaita-icon-theme}/share:$XDG_DATA_DIRS"
|
||||||
${pkgs.i3-gaps}/bin/i3
|
${pkgs.xfce.xfce4-session}/bin/xfce4-session --with-ck-launch &
|
||||||
'';
|
${pkgs.i3-gaps}/bin/i3
|
||||||
}];
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
programs.dconf.profiles.user.databases = [{
|
programs.dconf.profiles.user.databases = [
|
||||||
settings = {
|
{
|
||||||
"org/gnome/desktop/interface" = {
|
settings = {
|
||||||
icon-theme = "Vivid-Magna-Glassy-Dark-Icons";
|
"org/gnome/desktop/interface" = {
|
||||||
gtk-theme = "Tokyonight-Dark";
|
icon-theme = "candy-icons";
|
||||||
cursor-theme = "capitaine-cursors";
|
gtk-theme = "Tokyonight-Dark";
|
||||||
|
cursor-theme = "capitaine-cursors";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
}];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue