{ pkgs, inputs, ... }: { config = { # Home Manager needs a bit of information about you and the paths it should # manage. home.username = "jokke"; home.homeDirectory = "/home/jokke"; home.packages = with pkgs; [ ffmpeg mediainfo git-lfs telegram-desktop shards deno virt-manager gimp lftp inkscape wineWowPackages.waylandFull reaper inputs.ksoloti-pr.legacyPackages.${pkgs.system}.ksoloti calibre jellyfin-media-player darktable openscad shutter ]; gnome.profilePicture = ../assets/profile-pictures/jokke.png; programs.neovim = { extraPackages = with pkgs; [ nodePackages.graphql-language-service-cli ]; withTreesitterPlugins = p: [ p.typescript p.svelte p.prisma p.graphql ]; formatters = [ { filetypes = [ "typescript" "typescriptreact" "svelte" ]; globs = [ "*.ts" "*.tsx" "*.svelte" ]; exe = "npx"; args = file: [ "prettier" "--stdin-filepath" file ]; stdin = true; } { filetypes = [ "prisma" ]; globs = [ "*.prisma" ]; exe = "${pkgs.nodePackages.prisma}/bin/prisma"; args = file: [ "format" "--schema" ]; stdin = false; } ]; lsp.servers = with pkgs; [ { name = "svelte"; package = nodePackages.svelte-language-server; } { name = "denols"; package = deno; rootPattern = [ "deno.json" ]; } { name = "prismals"; package = nodePackages."@prisma/language-server"; rootPattern = [ "package.json" "deno.json" ]; } { name = "graphql"; package = nodePackages.graphql-language-service-cli; config = { filetypes = [ "typescript" "typescriptreact" "graphql" "svelte" ]; }; } ]; }; programs.ssh.matchBlocks = { "alderaan" = { hostname = "alderaan.space"; user = "root"; }; "base.alderaan" = { hostname = "base.alderaan.space"; user = "luke"; }; "jokke.space" = { user = "root"; }; }; programs.git.extraConfig.user.email = "joakim@repomaa.com"; services.syncthing = { enable = true; }; }; }