Set up desktop environments
This commit is contained in:
parent
1d5233512b
commit
b5b5063065
274
users/jan.nix
274
users/jan.nix
|
@ -1,6 +1,11 @@
|
||||||
# How Jan likes his linux to be configured
|
# How Jan likes his linux to be configured
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
config = {
|
config = {
|
||||||
|
@ -11,43 +16,266 @@
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
libreoffice-still
|
libreoffice-still
|
||||||
remmina
|
remmina
|
||||||
# dina-vector
|
|
||||||
# android-studio
|
|
||||||
# jellyfin-tui
|
|
||||||
pinentry
|
pinentry
|
||||||
thunderbird
|
thunderbird
|
||||||
signal-desktop
|
signal-desktop
|
||||||
prusa-slicer
|
prusa-slicer
|
||||||
freecad-wayland
|
freecad-wayland
|
||||||
inkscape
|
inkscape
|
||||||
# appflowy
|
|
||||||
ente-auth
|
ente-auth
|
||||||
];
|
];
|
||||||
|
|
||||||
# Desktop environments
|
desktop.environments = {
|
||||||
# desktops =
|
river-dark = {
|
||||||
# let
|
name = "River Dark";
|
||||||
# in
|
type = "custom";
|
||||||
# {
|
config = { };
|
||||||
# "River Dark" = {
|
extraConfig = {
|
||||||
# type = "custom";
|
|
||||||
# theming = { };
|
|
||||||
# config = { };
|
|
||||||
# extraConfig = { };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Enabled modules
|
|
||||||
modules = {
|
modules = {
|
||||||
# Window manager
|
# Desktop environment
|
||||||
river.enable = true;
|
river.enable = true;
|
||||||
waylock.enable = true;
|
waylock.enable = true;
|
||||||
waybar.enable = true;
|
waybar.enable = true;
|
||||||
|
|
||||||
# Desktop environment
|
|
||||||
mako.enable = true;
|
mako.enable = true;
|
||||||
foot.enable = true;
|
foot.enable = true;
|
||||||
|
rofi-rbw.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# TODO: Remove everything below, it is here out of convenience and should be elsewhere
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
config.common.default = [
|
||||||
|
"wlr"
|
||||||
|
"gtk"
|
||||||
|
];
|
||||||
|
|
||||||
|
extraPortals = with pkgs; [
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
xdg-desktop-portal-wlr
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Color scheme
|
||||||
|
desktop.theming.themes.catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
flavor = "mocha";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
river-light = {
|
||||||
|
name = "River Light";
|
||||||
|
type = "custom";
|
||||||
|
config = { };
|
||||||
|
extraConfig = {
|
||||||
|
modules = {
|
||||||
|
# Desktop environment
|
||||||
|
river.enable = true;
|
||||||
|
waylock.enable = true;
|
||||||
|
waybar.enable = true;
|
||||||
|
mako.enable = true;
|
||||||
|
foot.enable = true;
|
||||||
|
rofi-rbw.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# TODO: Remove everything below, it is here out of convenience and should be elsewhere
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
config.common.default = [
|
||||||
|
"wlr"
|
||||||
|
"gtk"
|
||||||
|
];
|
||||||
|
|
||||||
|
extraPortals = with pkgs; [
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
xdg-desktop-portal-wlr
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Color scheme
|
||||||
|
desktop.theming.themes.catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
flavor = lib.mkForce "latte";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
cosmic = {
|
||||||
|
name = "Cosmic";
|
||||||
|
type = "custom";
|
||||||
|
config = { };
|
||||||
|
extraConfig = {
|
||||||
|
desktop = {
|
||||||
|
initScript = ''
|
||||||
|
${pkgs.dbus}/bin/dbus-run-session ${pkgs.cosmic-session}/bin/cosmic-session
|
||||||
|
'';
|
||||||
|
session = {
|
||||||
|
type = "wayland";
|
||||||
|
desktop = "cosmic";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
adwaita-icon-theme
|
||||||
|
alsa-utils
|
||||||
|
cosmic-applets
|
||||||
|
cosmic-applibrary
|
||||||
|
cosmic-bg
|
||||||
|
(cosmic-comp.override {
|
||||||
|
useXWayland = false;
|
||||||
|
})
|
||||||
|
cosmic-edit
|
||||||
|
cosmic-files
|
||||||
|
cosmic-greeter
|
||||||
|
cosmic-icons
|
||||||
|
cosmic-idle
|
||||||
|
cosmic-launcher
|
||||||
|
cosmic-notifications
|
||||||
|
cosmic-osd
|
||||||
|
cosmic-panel
|
||||||
|
cosmic-player
|
||||||
|
cosmic-randr
|
||||||
|
cosmic-screenshot
|
||||||
|
cosmic-session
|
||||||
|
cosmic-settings
|
||||||
|
cosmic-settings-daemon
|
||||||
|
cosmic-term
|
||||||
|
cosmic-wallpapers
|
||||||
|
cosmic-workspaces-epoch
|
||||||
|
hicolor-icon-theme
|
||||||
|
playerctl
|
||||||
|
pop-icon-theme
|
||||||
|
pop-launcher
|
||||||
|
xdg-user-dirs
|
||||||
|
xwayland
|
||||||
|
cosmic-store
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
fira
|
||||||
|
noto-fonts
|
||||||
|
open-sans
|
||||||
|
];
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = with pkgs; [
|
||||||
|
xdg-desktop-portal-cosmic
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
configPackages = lib.mkDefault (with pkgs; [ xdg-desktop-portal-cosmic ]);
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
gnome = {
|
||||||
|
name = "Gnome";
|
||||||
|
type = "custom";
|
||||||
|
config = { };
|
||||||
|
extraConfig = {
|
||||||
|
programs = {
|
||||||
|
gnome-shell.enable = true;
|
||||||
|
};
|
||||||
|
desktop = {
|
||||||
|
initScript = ''
|
||||||
|
${pkgs.dbus}/bin/dbus-run-session ${pkgs.gnome-session}/bin/gnome-session
|
||||||
|
'';
|
||||||
|
session = {
|
||||||
|
type = "wayland";
|
||||||
|
desktop = "GNOME";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home.packages = [
|
||||||
|
# Core utilities
|
||||||
|
pkgs.baobab
|
||||||
|
pkgs.epiphany
|
||||||
|
pkgs.gnome-text-editor
|
||||||
|
pkgs.gnome-calculator
|
||||||
|
pkgs.gnome-calendar
|
||||||
|
pkgs.gnome-characters
|
||||||
|
pkgs.gnome-clocks
|
||||||
|
pkgs.gnome-console
|
||||||
|
pkgs.gnome-contacts
|
||||||
|
pkgs.gnome-font-viewer
|
||||||
|
pkgs.gnome-logs
|
||||||
|
pkgs.gnome-maps
|
||||||
|
pkgs.gnome-music
|
||||||
|
pkgs.gnome-system-monitor
|
||||||
|
pkgs.gnome-weather
|
||||||
|
pkgs.loupe
|
||||||
|
pkgs.nautilus
|
||||||
|
pkgs.gnome-connections
|
||||||
|
pkgs.simple-scan
|
||||||
|
pkgs.snapshot
|
||||||
|
pkgs.totem
|
||||||
|
pkgs.yelp
|
||||||
|
|
||||||
|
# Optional packages
|
||||||
|
pkgs.adwaita-icon-theme
|
||||||
|
pkgs.gnome-backgrounds
|
||||||
|
pkgs.gnome-bluetooth
|
||||||
|
pkgs.gnome-color-manager
|
||||||
|
pkgs.gnome-control-center
|
||||||
|
pkgs.gnome-shell-extensions
|
||||||
|
pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in.
|
||||||
|
pkgs.gnome-user-docs
|
||||||
|
pkgs.glib # for gsettings program
|
||||||
|
pkgs.gnome-menus
|
||||||
|
pkgs.gtk3.out # for gtk-launch program
|
||||||
|
pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
|
||||||
|
pkgs.xdg-user-dirs-gtk # Used to create the default bookmarks
|
||||||
|
|
||||||
|
# Games
|
||||||
|
pkgs.aisleriot
|
||||||
|
pkgs.atomix
|
||||||
|
pkgs.five-or-more
|
||||||
|
pkgs.four-in-a-row
|
||||||
|
pkgs.gnome-2048
|
||||||
|
pkgs.gnome-chess
|
||||||
|
pkgs.gnome-klotski
|
||||||
|
pkgs.gnome-mahjongg
|
||||||
|
pkgs.gnome-mines
|
||||||
|
pkgs.gnome-nibbles
|
||||||
|
pkgs.gnome-robots
|
||||||
|
pkgs.gnome-sudoku
|
||||||
|
pkgs.gnome-taquin
|
||||||
|
pkgs.gnome-tetravex
|
||||||
|
pkgs.hitori
|
||||||
|
pkgs.iagno
|
||||||
|
pkgs.lightsoff
|
||||||
|
pkgs.quadrapassel
|
||||||
|
pkgs.swell-foop
|
||||||
|
pkgs.tali
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
pkgs.cantarell-fonts
|
||||||
|
pkgs.dejavu_fonts
|
||||||
|
pkgs.source-code-pro # Default monospace font in 3.32
|
||||||
|
pkgs.source-sans
|
||||||
|
|
||||||
|
# Other stuff
|
||||||
|
pkgs.gnome-session
|
||||||
|
# pkgs.gnome-session.sessions
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Desktop environments
|
||||||
|
# desktop.environments =
|
||||||
|
# let
|
||||||
|
# in
|
||||||
|
# [
|
||||||
|
# {
|
||||||
|
# name = "river";
|
||||||
|
# type = "custom";
|
||||||
|
# config = { };
|
||||||
|
# extraConfig = {
|
||||||
|
# home.packages = with pkgs; [ cowsay ];
|
||||||
|
# };
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# Enabled modules
|
||||||
|
modules = {
|
||||||
# Communication
|
# Communication
|
||||||
whatsapp.enable = true;
|
whatsapp.enable = true;
|
||||||
discord.enable = true;
|
discord.enable = true;
|
||||||
|
@ -74,7 +302,6 @@
|
||||||
feishin.enable = true;
|
feishin.enable = true;
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
rofi-rbw.enable = true;
|
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "Jan-Bulthuis";
|
user = "Jan-Bulthuis";
|
||||||
|
@ -153,5 +380,6 @@
|
||||||
xdg-desktop-portal-wlr
|
xdg-desktop-portal-wlr
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue