202 lines
4.3 KiB
Nix
Raw Normal View History

2025-05-25 11:55:51 +02:00
{
pkgs,
2025-11-30 12:29:12 +01:00
pkgs-stable,
2025-05-25 11:55:51 +02:00
lib,
config,
2025-11-14 14:32:20 +01:00
inputs,
2025-05-25 11:55:51 +02:00
...
}:
with lib;
let
cfg = config.modules.profiles.jan;
in
{
options.modules.profiles.jan = {
enable = mkEnableOption "Jan's personal profile";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
2025-11-14 14:32:20 +01:00
firefox
# inputs.stable-nixpkgs.legacyPackages.${config.nixpkgs.hostPlatform}.libreoffice
libreoffice
2025-05-25 11:55:51 +02:00
remmina
thunderbird
signal-desktop
prusa-slicer
freecad-wayland
inkscape
2025-11-14 14:32:20 +01:00
# ente-auth
audacity
2025-05-25 11:55:51 +02:00
carla
2025-11-30 12:29:12 +01:00
pkgs-stable.winbox
2025-11-14 14:32:20 +01:00
# whatsapp-for-linux
wasistlos
2025-05-25 11:55:51 +02:00
discord
steam
spotify
2025-11-30 12:29:12 +01:00
# feishin
2025-05-25 11:55:51 +02:00
eduvpn-client
ryubing
bottles
prismlauncher
foliate
2025-05-28 15:59:13 +02:00
wireshark
2025-06-07 21:15:14 +02:00
obsidian
2025-11-14 14:32:20 +01:00
# devenv
# kicad
2025-07-30 16:05:56 +02:00
vlc
2025-11-14 14:32:20 +01:00
authenticator
podman
podman-compose
gnome-network-displays
gnome-logs
2025-05-25 11:55:51 +02:00
];
2025-11-14 14:32:20 +01:00
programs.helix = {
enable = true;
defaultEditor = true;
# settings = {
# theme = {
# light = "adwaita-light";
# dark = "adwaita-dark";
# fallback = "default";
# };
# };
extraPackages = with pkgs; [
bash-language-server # Bash
fish-lsp # Fish
systemd-lsp # Systemd
yaml-language-server # Yaml
taplo # Toml
nixd # Nix
protols # Protobuf
dockerfile-language-server # Dockerfile
docker-compose-language-service # Docker compose
clang-tools # C, C++
neocmakelsp # Cmake
rust-analyzer # Rust
lldb # C, C++, Rust
zls # Zig
texlab # Latex
tinymist # Typst
marksman # Markdown
markdown-oxide # Markdown
vscode-langservers-extracted # HTML, CSS, JSON, ESLint
typescript-language-server # Typescript, Javascript
intelephense # PHP
vue-language-server # Vue
ruff # Python
basedpyright # Python
helix-gpt # Copilot
# texlab # Latex, Bibtex
# bibtex-tidy # Bibtex
# docker-langserver # Dockerfile
# docker-compose-langserver # Docker compose
# elixir-ls # Elixir
# gopls # Go
# golangci-lint-langserver # Go
# dlv # Go
# haskell-language-server # Haskell
# julia # Julia
# kotlin-language-server # Kotlin
# lua-language-server # Lua
# slint-lsp # Slint
# tinymist # Typst
];
languages = {
language-server = {
basedpyright = {
command = "basedpyright-langserver";
args = [ "--stdio" ];
};
tinymist = {
command = "tinymist";
config.preview.background = {
enabled = true;
args = [
"--data-plane-host=127.0.0.1:23635"
"--invert-colors=never"
"--open"
];
};
};
};
language = [
{
name = "python";
language-servers = [
{
name = "basedpyright";
except-features = [ "diagnostics" ];
}
"ruff"
];
auto-format = true;
formatter = {
command = "ruff";
args = [
"format"
"-"
];
};
}
];
};
};
2025-05-25 11:55:51 +02:00
modules = {
profiles.gnome.enable = true;
# Gaming
# retroarch.enable = true;
# ryujinx.enable = true;
# Tools
git = {
enable = true;
user = "Jan-Bulthuis";
email = "git@bulthuis.dev";
# TODO: Move
ignores = [
".envrc"
".direnv"
"flake.nix"
"flake.lock"
];
};
2025-05-29 19:23:52 +02:00
bitwarden.enable = true;
2025-05-25 11:55:51 +02:00
xpra = {
enable = true;
hosts = [
2025-11-14 14:32:20 +01:00
"mixer@10.20.40.100"
2025-05-25 11:55:51 +02:00
];
};
# Development
# docker.enable = true;
# matlab.enable = true;
2025-11-30 12:29:12 +01:00
# mathematica.enable = true;
2025-05-25 11:55:51 +02:00
# Languages
haskell.enable = false;
js.enable = true;
nix.enable = true;
rust.enable = true;
python.enable = true;
cpp.enable = true;
2025-11-14 14:32:20 +01:00
tex.enable = false;
jupyter.enable = true;
2025-07-30 16:05:56 +02:00
go.enable = true;
2025-05-25 11:55:51 +02:00
};
};
}