157 lines
3.3 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
android-studio
docker
docker-compose
jellyfin-tui
pinentry
thunderbird
signal-desktop
];
programs.gpg = {
enable = true;
mutableKeys = true;
mutableTrust = true;
};
services.gpg-agent = {
enable = true;
enableSshSupport = true;
};
2024-09-02 20:03:39 +02:00
# Enabled modules
2024-07-18 06:08:27 +02:00
modules = {
2024-12-02 00:58:01 +01:00
# Theming
theming.enable = true;
2024-07-18 06:08:27 +02:00
# Window manager
river.enable = true;
waylock.enable = true;
2024-07-19 03:34:42 +02:00
waybar.enable = true;
2024-12-02 00:58:01 +01:00
glpaper.enable = false;
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;
# Media
spotify.enable = true;
feishin.enable = true;
# 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";
};
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;
2024-07-19 13:59:26 +02:00
2024-12-02 00:58:01 +01:00
# Development
neovim.enable = true;
vscode.enable = true;
# 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
2024-07-19 14:00:55 +02:00
theming =
let
fontpkgs = config.theming.fonts.pkgs;
in
{
# 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";
2024-07-19 14:00:55 +02:00
fonts.extraFonts = [ ];
# Color scheme
2024-09-02 20:03:39 +02:00
themes.oxocarbon = {
enable = false;
darkMode = false;
};
2024-07-19 14:00:55 +02:00
themes.catppuccin = {
2024-12-03 16:23:29 +01:00
enable = false;
flavor = "latte";
2024-07-19 14:00:55 +02:00
};
2024-12-02 00:58:01 +01:00
themes.sakura.enable = false;
2024-12-03 16:23:29 +01:00
themes.nord = {
enable = true;
darkMode = true;
};
2024-09-02 20:03:39 +02:00
# TODO: Remove
# Nice themes:
# - rose-pine-dawn: Decent, bit too yellow though.
# - sagelight: Barely readable
# - danqing-light: Too minty
# - fruit-soda: Colors too bright, background too dark.
# - solarflare-light: Nice
# darkMode = false;
# colorScheme = "${pkgs.base16-schemes}/share/themes/solarflare-light.yaml";
};
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
}