202 lines
4.3 KiB
Nix
202 lines
4.3 KiB
Nix
{
|
|
pkgs,
|
|
pkgs-stable,
|
|
lib,
|
|
config,
|
|
inputs,
|
|
...
|
|
}:
|
|
|
|
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; [
|
|
firefox
|
|
# inputs.stable-nixpkgs.legacyPackages.${config.nixpkgs.hostPlatform}.libreoffice
|
|
libreoffice
|
|
remmina
|
|
thunderbird
|
|
signal-desktop
|
|
prusa-slicer
|
|
freecad-wayland
|
|
inkscape
|
|
# ente-auth
|
|
audacity
|
|
carla
|
|
pkgs-stable.winbox
|
|
# whatsapp-for-linux
|
|
wasistlos
|
|
discord
|
|
steam
|
|
spotify
|
|
# feishin
|
|
eduvpn-client
|
|
ryubing
|
|
bottles
|
|
prismlauncher
|
|
foliate
|
|
wireshark
|
|
obsidian
|
|
# devenv
|
|
# kicad
|
|
vlc
|
|
authenticator
|
|
|
|
podman
|
|
podman-compose
|
|
|
|
gnome-network-displays
|
|
gnome-logs
|
|
];
|
|
|
|
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"
|
|
"-"
|
|
];
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
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"
|
|
];
|
|
};
|
|
bitwarden.enable = true;
|
|
xpra = {
|
|
enable = true;
|
|
hosts = [
|
|
"mixer@10.20.40.100"
|
|
];
|
|
};
|
|
|
|
# Development
|
|
# docker.enable = true;
|
|
# matlab.enable = true;
|
|
# mathematica.enable = true;
|
|
|
|
# Languages
|
|
haskell.enable = false;
|
|
js.enable = true;
|
|
nix.enable = true;
|
|
rust.enable = true;
|
|
python.enable = true;
|
|
cpp.enable = true;
|
|
tex.enable = false;
|
|
jupyter.enable = true;
|
|
go.enable = true;
|
|
};
|
|
};
|
|
}
|