160 lines
3.2 KiB
Nix
Raw Normal View History

2024-07-18 06:08:27 +02:00
# How Jan likes his linux to be configured
2024-07-19 21:54:41 +02:00
{ config, pkgs, ... }:
{
config = {
2024-07-18 06:08:27 +02:00
# State version
home.stateVersion = "24.05";
2024-09-02 20:03:39 +02:00
# TODO: Move into modules
2024-12-02 00:58:01 +01:00
home.packages = with pkgs; [
libreoffice-still
remmina
# dina-vector
2025-01-24 00:28:22 +01:00
# android-studio
# jellyfin-tui
2024-12-02 00:58:01 +01:00
pinentry
thunderbird
signal-desktop
2025-01-24 00:28:22 +01:00
prusa-slicer
freecad-wayland
2025-02-02 14:09:09 +01:00
inkscape
2025-01-24 00:28:22 +01:00
# appflowy
2025-02-08 21:52:28 +01:00
ente-auth
2024-12-02 00:58:01 +01:00
];
2025-02-17 15:06:20 +01:00
# Desktop environments
desktops =
let
in
{
"River Dark" = {
type = "custom";
theming = { };
config = { };
extraConfig = { };
};
};
2024-09-02 20:03:39 +02:00
# Enabled modules
2024-07-18 06:08:27 +02:00
modules = {
# Window manager
2025-02-02 14:23:37 +01:00
river.enable = true;
waylock.enable = true;
waybar.enable = true;
2024-12-02 00:58:01 +01:00
# Desktop environment
2024-07-19 00:36:02 +02:00
mako.enable = true;
2024-12-02 00:58:01 +01:00
foot.enable = true;
# Communication
2024-09-02 20:03:39 +02:00
whatsapp.enable = true;
2024-07-18 13:48:49 +02:00
discord.enable = true;
2024-12-02 00:58:01 +01:00
# Browser
firefox = {
2024-07-20 06:10:56 +02:00
enable = true;
default = true;
};
2024-12-02 00:58:01 +01:00
qutebrowser = {
enable = true;
default = false;
};
# Gaming
steam.enable = true;
2025-01-24 00:28:22 +01:00
modrinth.enable = true;
2025-02-17 14:53:20 +01:00
es-de.enable = true;
2025-01-29 00:07:45 +01:00
retroarch.enable = true;
2025-01-26 13:28:36 +01:00
ryujinx.enable = true;
2024-12-02 00:58:01 +01:00
# Media
spotify.enable = true;
2025-01-24 03:05:34 +01:00
feishin.enable = true;
2024-12-02 00:58:01 +01:00
# Tools
2024-07-19 21:54:41 +02:00
rofi-rbw.enable = true;
2024-12-02 00:58:01 +01:00
git = {
enable = true;
user = "Jan-Bulthuis";
email = "git@bulthuis.dev";
2025-02-15 16:28:38 +01:00
# TODO: Move
ignores = [
".envrc"
".direnv"
"flake.nix"
"flake.lock"
];
2024-12-02 00:58:01 +01:00
};
btop.enable = true;
fish.enable = true;
bluetuith.enable = false;
winbox.enable = true;
obsidian.enable = true;
2024-12-02 00:58:01 +01:00
zathura.enable = true;
2025-01-28 09:03:45 +01:00
eduvpn.enable = true;
2025-01-28 10:42:20 +01:00
keyring.enable = true;
2025-02-15 16:28:38 +01:00
scripts.enable = true;
2024-07-19 13:59:26 +02:00
2024-12-02 00:58:01 +01:00
# Development
neovim.enable = true;
vscode.enable = true;
2025-01-24 00:28:22 +01:00
docker.enable = true;
2025-01-26 12:57:38 +01:00
matlab.enable = true;
2025-02-12 04:09:08 +01:00
mathematica.enable = false;
2024-12-02 00:58:01 +01:00
# Languages
haskell.enable = false;
js.enable = true;
2024-07-19 13:59:26 +02:00
nix.enable = true;
rust.enable = true;
2024-12-02 00:58:01 +01:00
python.enable = true;
cpp.enable = true;
tex.enable = true;
jupyter.enable = true;
2024-07-18 13:48:49 +02:00
# Enable unfree
unfree.enable = true;
2024-07-18 06:08:27 +02:00
};
# Theme configuration
2025-02-17 15:06:20 +01:00
desktop.theming =
2024-07-19 14:00:55 +02:00
let
fontpkgs = config.theming.fonts.pkgs;
in
{
2025-02-17 15:06:20 +01:00
enable = true;
2024-07-19 14:00:55 +02:00
# Fonts
fonts.serif = fontpkgs."DejaVu Serif";
fonts.sansSerif = fontpkgs."DejaVu Sans";
fonts.monospace = fontpkgs."Dina";
2024-12-02 00:58:01 +01:00
fonts.emoji = fontpkgs."Noto Color Emoji";
2025-01-24 02:26:24 +01:00
fonts.interface = fontpkgs."Dina";
2024-07-19 14:00:55 +02:00
fonts.extraFonts = [ ];
# Color scheme
themes.catppuccin = {
2025-01-24 00:28:22 +01:00
enable = true;
flavor = "mocha";
2024-07-19 14:00:55 +02:00
};
};
2024-07-19 21:54:41 +02:00
# 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
];
};
};
2024-07-18 06:08:27 +02:00
}