This commit is contained in:
Nickolaj Jepsen 2025-02-20 22:50:06 +01:00
parent 2b7b63a18c
commit 638ef7093e
140 changed files with 307 additions and 121 deletions

49
modules/apps/firefox.nix Normal file
View file

@ -0,0 +1,49 @@
{
pkgsUnstable,
inputs,
pkgs,
...
}: let
nur = inputs.nur.legacyPackages.${pkgs.system};
extensions = nur.repos.rycee.firefox-addons;
in {
programs.firefox = {
enable = true;
package = pkgsUnstable.firefox;
};
fireproof.home-manager = {
programs.firefox = {
enable = true;
package = pkgsUnstable.firefox;
profiles.default = {
extensions = with extensions; [
# Privacy
ublock-origin
clearurls
libredirect
# Security
bitwarden
# Media
dearrow
sponsorblock
# Search
kagi-search
# Productivity
new-tab-override
# Social
reddit-enhancement-suite
];
settings = {
"browser.startup.homepage" = "https://flame.nickolaj.com";
};
};
};
};
}

52
modules/apps/ghostty.nix Normal file
View file

@ -0,0 +1,52 @@
{
pkgs,
config,
...
}: {
environment.systemPackages = with pkgs; [
ghostty
];
fireproof.home-manager = {
programs.ghostty = {
enable = true;
enableFishIntegration = config.programs.fish.enable;
settings = {
window-decoration = false;
theme = "fireproof";
font-size = 11;
font-family = "Hack Nerd Font";
window-inherit-font-size = false;
};
themes = {
fireproof = {
background = "1C1B1A";
cursor-color = "DAD8CE";
foreground = "DAD8CE";
palette = [
"0=#100F0F"
"1=#AF3029"
"2=#66800B"
"3=#AD8301"
"4=#205EA6"
"5=#A02F6F"
"6=#24837B"
"7=#DAD8CE"
"8=#878580"
"9=#D14D41"
"10=#879A39"
"11=#D0A215"
"12=#4385BE"
"13=#CE5D97"
"14=#3AA99F"
"15=#F2F0E5"
];
selection-background = "403E3C";
selection-foreground = "DAD8CE";
};
};
};
};
fireproof.default-apps = {
terminal = "ghostty";
};
}

5
modules/apps/pycharm.nix Normal file
View file

@ -0,0 +1,5 @@
{pkgsUnstable, ...}: {
environment.systemPackages = [
pkgsUnstable.jetbrains.pycharm-professional
];
}

22
modules/apps/spotify.nix Normal file
View file

@ -0,0 +1,22 @@
{
username,
pkgs,
...
}: {
environment.systemPackages = with pkgs; [
spotify
];
age.secrets.spotify-player = {
rekeyFile = ../../secrets/spotify-player.age;
path = "/home/${username}/.cache/spotify-player/credentials.json";
mode = "0600";
owner = username;
};
fireproof.home-manager = {
programs.spotify-player = {
enable = true;
};
};
}

View file

@ -0,0 +1,5 @@
{pkgsUnstable, ...}: {
environment.systemPackages = [
pkgsUnstable.sublime-merge
];
}

View file

@ -0,0 +1,9 @@
{
username,
pkgsUnstable,
...
}: {
virtualisation.virtualbox.host.enable = true;
virtualisation.virtualbox.host.package = pkgsUnstable.virtualbox;
users.extraGroups.vboxusers.members = [username];
}

90
modules/apps/vscode.nix Normal file
View file

@ -0,0 +1,90 @@
{
pkgsUnstable,
pkgs,
inputs,
lib,
...
}: let
# stable = inputs.nix-vscode-extensions.extensions.${pkgs.system}.vscode-marketplace-release;
vscode-extensions = inputs.nix-vscode-extensions.extensions.${pkgs.system};
vscodePackage = pkgsUnstable.vscode;
vscodeMarketplace = (vscode-extensions.forVSCodeVersion vscodePackage.version).vscode-marketplace;
vscodeMarketplaceRelease = (vscode-extensions.forVSCodeVersion vscodePackage.version).vscode-marketplace-release;
vscodePkgs = vscodeMarketplace // vscodeMarketplaceRelease; # Prefer release over pre-release
mkFormatter = formatter: languages: {
"[${lib.concatStringsSep "][" languages}]" = {
"editor.defaultFormatter" = formatter;
"editor.formatOnSave" = true;
};
};
in {
fireproof.home-manager = {
programs.vscode = {
enable = true;
package = vscodePackage;
enableUpdateCheck = true;
enableExtensionUpdateCheck = true;
userSettings = lib.mkMerge [
{
# General
"extensions.ignoreRecommendations" = true;
# Remote
"remote.SSH.useLocalServer" = false;
# AI
"github.copilot.editor.enableAutoCompletions" = true;
"github.copilot.enable" = {"*" = true;};
# Theme
"workbench.colorTheme" = "Darcula Theme from IntelliJ";
"window.titleBarStyle" = "custom";
# Keybindings
"workbench.commandPalette.experimental.suggestCommands" = true; # Emulates IntelliJ's "Search Everywhere"
# nix-ide
"nix.enableLanguageServer" = true;
"nix.serverPath" = lib.getExe pkgs.nil;
"nix.serverSettings" = {
nil.formatting.command = ["nix" "fmt" "--" "--"];
};
}
(mkFormatter "esbenp.prettier-vscode" ["json" "jsonc" "markdown" "css" "scss" "typescript" "typescriptreact" "html" "yaml"])
(mkFormatter "charliermarsh.ruff" ["python"])
];
extensions = with vscodePkgs; [
# Remote
ms-vscode-remote.remote-ssh
# AI
github.copilot
github.copilot-chat
# Python
ms-pyright.pyright
ms-python.python
charliermarsh.ruff
# JavaScript
dbaeumer.vscode-eslint
esbenp.prettier-vscode
# Nix
jnoortheen.nix-ide
# Other languages
nefrob.vscode-just-syntax
redhat.vscode-yaml
# Theme
trinm1709.dracula-theme-from-intellij
# Keybindings
k--kato.intellij-idea-keybindings
];
};
};
}