Evie Litherland-Smith
83e0b05e96
Upscale default wallpaper (now default.png rather than default.jpg) Set Vanguard to use a local animated wallpaper, as the file is quite big after upscaling so I'm not putting it in this repo... Deleted a bunch of wallpapers files from the repo but they're backed up in syncthing Removed overskride and nm-connection-editor from waybar shortcut, open terminal with bluetoothctl and nmtui respectively instead Move twinkle to only be installed on work machine
244 lines
6.6 KiB
Nix
244 lines
6.6 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
username,
|
|
...
|
|
}:
|
|
{
|
|
nixpkgs.config.chromium.commandLineArgs = "--password-store='gnome-libsecret' --enable-features=UseOzonePlatform --ozone-platform=wayland";
|
|
hardware.bluetooth.enable = true;
|
|
networking.networkmanager.enable = true;
|
|
environment = {
|
|
sessionVariables = {
|
|
NIXOS_OZONE_WL = "1";
|
|
MOZ_ENABLE_WAYLAND = "1";
|
|
WEBKIT_DISABLE_COMPOSITING_MODE = "1";
|
|
MPLBACKEND = "TkAgg";
|
|
GDK_BACKEND = "wayland,x11";
|
|
XDG_SESSION_TYPE = "wayland";
|
|
QT_QPA_PLATFORM = "wayland";
|
|
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
|
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
|
};
|
|
systemPackages = with pkgs; [
|
|
libsecret
|
|
libnotify
|
|
xdg-utils
|
|
hunspell
|
|
hunspellDicts.en_GB-large
|
|
wl-clipboard
|
|
hyprpicker
|
|
grim
|
|
slurp
|
|
swappy
|
|
nautilus
|
|
libreoffice
|
|
evince
|
|
image-roll
|
|
imagemagick
|
|
clapper
|
|
g4music
|
|
ffmpeg
|
|
picard
|
|
webcord
|
|
signal-desktop
|
|
whatsapp-for-linux
|
|
teams-for-linux
|
|
nomachine-client
|
|
];
|
|
};
|
|
security = {
|
|
polkit.enable = true;
|
|
pam.loginLimits = [
|
|
{
|
|
domain = "@users";
|
|
item = "rtprio";
|
|
type = "-";
|
|
value = 1;
|
|
}
|
|
];
|
|
};
|
|
programs = {
|
|
dconf.enable = true;
|
|
noisetorch.enable = true;
|
|
seahorse.enable = true;
|
|
file-roller.enable = true;
|
|
hyprland.enable = true;
|
|
xwayland.enable = true;
|
|
};
|
|
gtk.iconCache.enable = true;
|
|
qt = {
|
|
enable = true;
|
|
style = if config.lib.stylix.scheme.variant == "light" then "adwaita" else "adwaita-dark";
|
|
};
|
|
services = {
|
|
gnome.gnome-keyring.enable = true;
|
|
flatpak.enable = true;
|
|
printing.enable = true;
|
|
tumbler.enable = true;
|
|
udisks2.enable = true;
|
|
gnome.sushi.enable = true;
|
|
gvfs = {
|
|
enable = true;
|
|
package = pkgs.gnome.gvfs;
|
|
};
|
|
kanata = {
|
|
enable = true;
|
|
keyboards.main = {
|
|
config = builtins.readFile ./kanata.kbd;
|
|
extraDefCfg = "process-unmapped-keys yes";
|
|
};
|
|
};
|
|
pipewire = {
|
|
enable = true;
|
|
pulse.enable = true;
|
|
alsa = {
|
|
enable = true;
|
|
support32Bit = true;
|
|
};
|
|
};
|
|
greetd = {
|
|
enable = true;
|
|
settings =
|
|
let
|
|
default_session.command = "Hyprland";
|
|
in
|
|
{
|
|
inherit default_session;
|
|
initial_session = {
|
|
inherit (default_session) command;
|
|
user = username;
|
|
};
|
|
};
|
|
};
|
|
xserver = {
|
|
enable = true;
|
|
xkb.layout = "gb";
|
|
};
|
|
};
|
|
xdg.portal = {
|
|
enable = true;
|
|
config.common.default = "*"; # TODO change for xdg-desktop-portal > 1.17 changes
|
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
};
|
|
home-manager.users.${username} =
|
|
{
|
|
config,
|
|
pkgs,
|
|
osConfig,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
./home/hyprland.nix
|
|
./home/terminal/default.nix
|
|
./home/browser/firefox.nix
|
|
./home/browser/nyxt.nix
|
|
./home/emacs/default.nix
|
|
./home/email/default.nix
|
|
./home/calendar/default.nix
|
|
./home/password-store/default.nix
|
|
];
|
|
home.file.${config.gtk.gtk2.configLocation}.force = true;
|
|
services = {
|
|
syncthing.enable = true;
|
|
gammastep = {
|
|
inherit (osConfig.location) latitude longitude provider;
|
|
enable = true;
|
|
tray = true;
|
|
};
|
|
};
|
|
gtk = {
|
|
enable = true;
|
|
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
|
iconTheme = {
|
|
package = (pkgs.papirus-icon-theme.override { color = "violet"; });
|
|
name = if config.lib.stylix.scheme.variant == "light" then "Papirus-Light" else "Papirus-Dark";
|
|
};
|
|
};
|
|
stylix.targets.gtk.extraCss = with config.lib.stylix.scheme.withHashtag; ''
|
|
@define-color accent_color ${base0E-hex};
|
|
@define-color accent_bg_color ${base0E-hex};
|
|
'';
|
|
xdg = {
|
|
mime.enable = true;
|
|
mimeApps =
|
|
let
|
|
defaultApplications = import ./mimeapps.nix;
|
|
in
|
|
{
|
|
enable = true;
|
|
inherit defaultApplications;
|
|
associations.added = defaultApplications;
|
|
};
|
|
userDirs = {
|
|
enable = true;
|
|
createDirectories = true;
|
|
extraConfig = {
|
|
XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects";
|
|
};
|
|
};
|
|
configFile = {
|
|
# Stop programs from overriding mimeapps
|
|
"mimeapps.list".force = true;
|
|
# Ensure GTK config is set
|
|
"gtk-3.0/gtk.css".force = true;
|
|
"gtk-3.0/settings.ini".force = true;
|
|
"gtk-4.0/gtk.css".force = true;
|
|
"gtk-4.0/settings.ini".force = true;
|
|
# Set Swappy config so that it saves to Screenshots directory
|
|
"swappy/config".text = ''
|
|
[Default]
|
|
save_dir=${config.xdg.userDirs.pictures}/Screenshots/
|
|
save_filename_format=swappy-%Y%m%d-%H%M%S.png
|
|
show_panel=false
|
|
line_size=5
|
|
text_size=${toString config.stylix.fonts.sizes.desktop}
|
|
text_font=${config.stylix.fonts.sansSerif.name}
|
|
paint_mode=brush
|
|
early_exit=false
|
|
fill_shape=false
|
|
'';
|
|
# WhatsApp config
|
|
"whatsapp-for-linux/settings.conf" =
|
|
let
|
|
inherit (config.lib.stylix.scheme) variant;
|
|
in
|
|
{
|
|
force = true;
|
|
text = ''
|
|
[web]
|
|
allow-permissions=true
|
|
hw-accel=2
|
|
|
|
[general]
|
|
notification-sounds=true
|
|
close-to-tray=true
|
|
start-in-tray=true
|
|
|
|
[appearance]
|
|
prefer-dark-theme=${if variant == "dark" then "true" else "false"}
|
|
'';
|
|
};
|
|
# Teams config
|
|
"teams-for-linux/config.json" = {
|
|
force = true;
|
|
text = builtins.toJSON {
|
|
awayOnSystemIdle = true;
|
|
closeAppOnCross = false;
|
|
followSystemTheme = true;
|
|
notificationMethod = "electron";
|
|
optInTeamsV2 = true;
|
|
spellCheckerLanguages = [ "en_GB" ];
|
|
};
|
|
};
|
|
# Autostart some programs
|
|
"autostart/signal-desktop.desktop".source =
|
|
"${pkgs.signal-desktop}/share/applications/signal-desktop.desktop";
|
|
"autostart/com.github.eneshecan.WhatsAppForLinux.desktop".source =
|
|
"${pkgs.whatsapp-for-linux}/share/applications/com.github.eneshecan.WhatsAppForLinux.desktop";
|
|
};
|
|
};
|
|
};
|
|
}
|