nix-configs/modules/desktop/default.nix

140 lines
3.5 KiB
Nix
Raw Normal View History

2023-02-13 11:54:21 +00:00
{ config, lib, pkgs, ... }:
let
2023-10-28 20:25:06 +00:00
# window-screenshot = pkgs.writeTextFile "window-screenshot.nu" (builtins.readFile ../../other/scripts/desktop/window-screenshot.nu);
2023-04-22 11:10:34 +00:00
window-screenshot = pkgs.writeShellScriptBin "window-screenshot.sh" (builtins.readFile ../../other/scripts/desktop/window-screenshot.sh);
2023-02-13 11:54:21 +00:00
# desktop-ctl = pkgs.writeShellScriptBin "desktop-ctl.sh" (builtins.readFile ../scripts/desktop/desktop-ctl.sh);
2023-04-22 11:10:34 +00:00
desktop-ctl = import ../../other/scripts/desktop/desktopctl.nix { inherit pkgs; };
# TODO: fix ocr screenshot script
2023-04-22 11:10:34 +00:00
ocr-screenshot = pkgs.writeShellScriptBin "ocr-screenshot.sh" (builtins.readFile ../../other/scripts/desktop/ocr-screenshot.sh);
2023-02-13 11:54:21 +00:00
# rofi calculator copied from https://github.com/barbuk/menu-qalc
2023-04-22 11:10:34 +00:00
menu-qalc = pkgs.writeShellScriptBin "menu-qalc" (builtins.readFile ../../other/scripts/desktop/menu-qalc.sh);
2023-02-13 11:54:21 +00:00
in with lib; {
imports = [
2023-02-13 11:54:21 +00:00
./audio.nix
./gaming.nix
./creative.nix # TODO: more fine grained choices, not every setup needs fspy or rawtherapee
./dunst.nix
2023-02-13 11:54:21 +00:00
./compositing.nix
./ios-compat.nix
./syncthing.nix
./kdeconnect.nix
./themeing.nix
./cloud.nix
./networking.nix
./polybar.nix
./social.nix
2023-02-26 20:50:52 +00:00
./mail.nix
2023-03-20 22:40:08 +00:00
./specific-hardware
2023-11-14 12:43:01 +00:00
./evremap.nix
2023-04-22 10:52:11 +00:00
./xmonad.nix
2023-11-21 23:22:14 +00:00
./firefox.nix
];
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
];
2023-02-13 11:54:21 +00:00
};
programs.seahorse.enable = true;
security.pam.services.jade.enableGnomeKeyring = true;
virtualisation.libvirtd.enable = true;
2023-02-13 11:54:21 +00:00
services = {
printing.enable = true;
gnome.gnome-keyring.enable = true;
2023-02-13 11:54:21 +00:00
xserver = {
enable = true;
2023-02-13 11:54:21 +00:00
layout = "us";
xkbVariant = "altgr-intl";
2023-02-13 11:54:21 +00:00
libinput = {
2023-02-13 11:54:21 +00:00
enable = true;
};
desktopManager = {
xterm.enable = false;
};
displayManager = {
defaultSession = "none+xmonad";
gdm.enable = true;
};
2023-02-13 11:54:21 +00:00
windowManager.xmonad = {
enable = true;
};
2023-02-13 11:54:21 +00:00
};
2023-09-08 23:10:22 +00:00
};
2023-09-08 23:10:22 +00:00
programs.xss-lock = {
enable = true;
lockerCommand = "${pkgs.i3lock}/bin/i3lock";
};
2023-09-08 23:10:22 +00:00
services.illum.enable = true;
services.avahi.enable = true;
2023-09-08 23:10:22 +00:00
services.smartd = {
enable = true;
notifications.x11.enable = true;
notifications.test = true;
};
2023-10-28 20:25:06 +00:00
home-manager.users.jade = { pkgs, ... }: {
programs.bat = {
# TODO: more config
enable = true;
};
programs.rofi = {
enable = true;
theme = ../../other/rofi-themes/applauncher.rasi;
};
home.packages = with pkgs; [
just bacon
2023-09-08 23:10:22 +00:00
magic-wormhole-rs
2023-10-28 20:25:06 +00:00
yt-dlp
2023-04-22 10:52:11 +00:00
i3lock rofimoji feh xorg.xinput arandr flameshot
tesseract5 imagemagick xclip xmacro xorg.xev
2023-10-28 20:25:06 +00:00
syncplay
2023-02-13 11:54:21 +00:00
# filemanager
xfce.thunar xfce.tumbler xfce.thunar-archive-plugin gnome.file-roller
# media/file viewers
vlc mpv evince nomacs
2023-02-13 11:54:21 +00:00
# from environment.systemPackages cleanup
2023-11-21 23:22:14 +00:00
font-manager xdotool xorg.xwininfo gparted uhk-agent
cool-retro-term xdg-desktop-portal-gtk obsidian zettlr virt-manager
ddccontrol-db firebird-emu gitg gpick qdirstat ffmpeg_5
2023-02-13 11:54:21 +00:00
# external
libnotify i3lock rofi rofimoji feh xorg.xinput arandr
flameshot tesseract5 imagemagick xclip kitty xmacro
brightnessctl drawing libqalculate
2023-02-13 11:54:21 +00:00
# custom scripts
window-screenshot desktop-ctl
ocr-screenshot menu-qalc
2023-02-13 11:54:21 +00:00
# meow
oneko
];
xsession = {
enable = true;
2023-02-13 11:54:21 +00:00
};
};
}