1
0
Fork 0
nixos/components/desktop-environment.nix

171 lines
4.4 KiB
Nix

{ config, lib, pkgs, ... }:
let
colors = theme.colors;
theme = config.lwad.definitions.theme;
in {
environment = {
systemPackages = with pkgs; [ nodePackages.live-server pandoc presenterm ];
variables.DISPLAY = ":0";
};
fonts = { packages = with pkgs; [ ipafont nerdfonts ]; };
home-manager.users.${config.lwad.definitions.username} = {
gtk = {
enable = true;
font = {
name = "DejaVu Sans";
package = pkgs.dejavu_fonts;
size = 11;
};
iconTheme = {
name = "breeze-dark";
package = pkgs.breeze-icons;
};
theme = {
name = "Breeze-Dark";
package = pkgs.breeze-gtk;
};
};
home = {
file.".background-image" = {
enable = true;
source = theme.image;
target = ".background-image";
};
packages = with pkgs; [
drawio
libreoffice-still
marktext
mpv
pcmanfm
scrot
signal-desktop
whatsapp-for-linux
xclip
xcolor
];
pointerCursor = {
gtk.enable = true;
name = "breeze_cursors";
package = pkgs.breeze-gtk;
size = 16;
x11.enable = true;
};
};
programs = {
chromium = {
enable = true;
package = pkgs.ungoogled-chromium;
};
feh.enable = true;
mpv.enable = true;
};
xdg.desktopEntries.chromium-browser = {
name = "Chromium";
exec =
"${pkgs.ungoogled-chromium}/bin/chromium -no-default-browser-check %U";
};
xsession.numlock.enable = true;
};
imports = [ ../lwad ];
lwad = {
services.dunst.enable = true;
applications = {
i3.enable = true;
librewolf.enable = true;
terminalEmulator = {
alacritty.enable = true;
default = "kitty";
kitty.enable = true;
};
wireshark.enable = true;
};
};
nixpkgs.overlays = [
(self: super: {
nerdfonts = super.nerdfonts.override { fonts = [ "FiraCode" ]; };
})
];
programs = {
bash.shellAliases.scc230 =
lib.mkIf config.lwad.applications.terminalEmulator.alacritty.enable
"alacritty -e ssh scc230@shinobu & disown";
xss-lock = {
enable = true;
extraOptions = [ "--transfer-sleep-lock" ];
lockerCommand = "xsecurelock";
};
};
services = {
gnome.gnome-keyring.enable = true;
tumbler.enable = true;
unclutter-xfixes = {
enable = true;
timeout = 1;
};
xserver = {
desktopManager = {
wallpaper.mode = "fill";
xterm.enable = false;
};
displayManager = {
lightdm = {
enable = true;
greeter.enable = true;
greeters.mini = {
enable = true;
extraConfig = ''
[greeter]
show-password-label = false
password-label-text = password:
invalid-password-text = failed
show-input-cursor = true
password-alignment = centre
password-input-width = 15
show-image-on-all-monitors = true
[greeter-hotkeys]
mod-key = meta
shutdown-key = S
restart-key = r
suspend-key = s
[greeter-theme]
font = "Fira Code Nerd Font Mono"
font-size = 16px
font-weight = regular
font-style = normal
text-color = "${colors.text}"
error-color = "#BE2A49"
background-image = ""
background-color = "${colors.background}"
window-color = "${colors.near_black}"
border-color = "${colors.highlight}"
border-width = 2px
layout-space = 15
password-character = -1
password-color = "${colors.text}"
password-background-color = "${colors.near_black}"
password-border-color = "${colors.near_black}"
password-border-width = 2px
password-border-radius = 0px
'';
user = "${config.lwad.definitions.username}";
};
};
};
enable = true;
layout = "gb";
libinput = {
enable = true;
mouse = {
accelProfile = "flat";
accelSpeed = "0";
};
};
xkbVariant = "";
};
};
users.users.${config.lwad.definitions.username}.extraGroups = [ "video" ];
}