Files
nixos/home/jokke/default.nix
2025-05-26 09:38:25 +03:00

129 lines
2.7 KiB
Nix

{ 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
git-annex
hledger
hledger-ui
hledger-iadd
];
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;
};
};
}