Merge branch 'main' of https://git.wieerwill.dev/wieerwill/nix-home-manager
This commit is contained in:
commit
5c3a992f34
180
firefox.nix
Normal file
180
firefox.nix
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
policies = {
|
||||||
|
DisablePocket = true;
|
||||||
|
DisplayBookmarksToolbar = true;
|
||||||
|
DisableFirefoxStudies = true;
|
||||||
|
DisableTelemetry = true;
|
||||||
|
PasswordManagerEnabled = false;
|
||||||
|
FirefoxHome = {
|
||||||
|
Search = true;
|
||||||
|
Pocket = false;
|
||||||
|
Snippets = false;
|
||||||
|
TopSites = false;
|
||||||
|
Highlights = false;
|
||||||
|
SponsoredPocket = false;
|
||||||
|
SponsoredTopSites = false;
|
||||||
|
};
|
||||||
|
EnableTrackingProtection = {
|
||||||
|
Value = true;
|
||||||
|
Locked = true;
|
||||||
|
Cryptomining = true;
|
||||||
|
Fingerprinting = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
ExtensionSettings = {
|
||||||
|
"jid1-MnnxcxisBPnSXQ@jetpack" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"firefox@ghostery.com" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ghostery/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"uBlock0@raymondhill.net" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
profiles = {
|
||||||
|
Personal = {
|
||||||
|
id = 0;
|
||||||
|
|
||||||
|
search = {
|
||||||
|
force = true;
|
||||||
|
engines = {
|
||||||
|
"Nix Packages" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://search.nixos.org/packages";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = [ "@np" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"Nix Options" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://search.nixos.org/options";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = [ "@no" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
bookmarks = [
|
||||||
|
{
|
||||||
|
name = "Toolbar";
|
||||||
|
toolbar = true;
|
||||||
|
bookmarks = [
|
||||||
|
{
|
||||||
|
name = "Development";
|
||||||
|
bookmarks = [
|
||||||
|
{
|
||||||
|
name = "Web";
|
||||||
|
bookmarks = [
|
||||||
|
{
|
||||||
|
name = "TypeScript docs";
|
||||||
|
url = "https://www.typescriptlang.org/docs/";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Typst";
|
||||||
|
bookmarks = [
|
||||||
|
{
|
||||||
|
name = "Typst docs";
|
||||||
|
url = "https://typst.app/docs/";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Nix";
|
||||||
|
bookmarks = [
|
||||||
|
{
|
||||||
|
name = "Nix(OS) manual (stable)";
|
||||||
|
url = "https://nixos.org/manual/nixos/stable/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Home manager options";
|
||||||
|
url = "https://nix-community.github.io/home-manager/options.xhtml";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Noogle";
|
||||||
|
url = "https://noogle.dev/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Nixpkgs";
|
||||||
|
url = "https://github.com/nixos/nixpkgs";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "GitHub";
|
||||||
|
url = "https://github.com/";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Radio";
|
||||||
|
bookmarks = [
|
||||||
|
{
|
||||||
|
name = "Meshtastic client";
|
||||||
|
url = "https://client.meshtastic.org/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Meshmap";
|
||||||
|
url = "https://meshmap.net";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Entertainment";
|
||||||
|
bookmarks = [
|
||||||
|
{
|
||||||
|
name = "YouTube";
|
||||||
|
url = "https://youtube.com/";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home = {
|
||||||
|
sessionVariables.BROWSER = "firefox";
|
||||||
|
#persistence."/persist/home/wieerwill" = {
|
||||||
|
# directories = [
|
||||||
|
# ".mozilla/firefox"
|
||||||
|
# ];
|
||||||
|
#};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
22
fonts.nix
22
fonts.nix
@ -1,10 +1,30 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
# Configure fonts
|
|
||||||
fonts = {
|
fonts = {
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
defaultFonts = {
|
||||||
|
emoji = ["emojione"];
|
||||||
|
monospace = ["0xproto"];
|
||||||
|
sansSerif = ["open-dyslexic"];
|
||||||
|
serif = ["open-dyslexic"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
emojione
|
||||||
|
nerd-fonts._0xproto
|
||||||
|
#nerd-fonts.anonymice
|
||||||
|
#nerd-fonts.atkynson-mono
|
||||||
|
#nerd-fonts.code-new-roman
|
||||||
|
nerd-fonts.droid-sans-mono
|
||||||
|
nerd-fonts.hack
|
||||||
|
nerd-fonts.noto
|
||||||
|
nerd-fonts.open-dyslexic
|
||||||
|
nerd-fonts.symbols-only
|
||||||
|
nerd-fonts.ubuntu
|
||||||
|
];
|
||||||
|
|
||||||
}
|
}
|
23
git.nix
23
git.nix
@ -3,12 +3,25 @@
|
|||||||
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "wieerwill";
|
userName = "wie" + "erwill";
|
||||||
userEmail = "robert.jeutter@gmx.de";
|
userEmail = "robert"+ ".jeutter@" + "gmx.de";
|
||||||
|
lfs.enable = true;
|
||||||
|
aliases = { };
|
||||||
|
#signing = {
|
||||||
|
# key = "ssh-ed25519 ...";
|
||||||
|
# signByDefault = true;
|
||||||
|
#};
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
credential.helper = "${
|
#gpg = {
|
||||||
pkgs.git.override { withLibsecret = true; }
|
# format = "ssh";
|
||||||
}/bin/git-credential-libsecret";
|
#};
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
push.autoSetupRemote = true;
|
||||||
|
credential.helper = "libsecret";
|
||||||
|
#credential.helper = "${
|
||||||
|
# pkgs.git.override { withLibsecret = true; }
|
||||||
|
# }/bin/git-credential-libsecret";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
13
home.nix
13
home.nix
@ -1,24 +1,25 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
let
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
./firefox.nix
|
||||||
./fonts.nix
|
./fonts.nix
|
||||||
./git.nix
|
./git.nix
|
||||||
./programs.nix
|
./programs.nix
|
||||||
|
./security.nix
|
||||||
./sway.nix
|
./sway.nix
|
||||||
./terminal.nix
|
./terminal.nix
|
||||||
./vim.nix
|
./vim.nix
|
||||||
|
./vscode.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
# Home Manager needs a bit of information about you
|
||||||
# manage.
|
# and the paths it should manage.
|
||||||
home = {
|
home = {
|
||||||
username = "wieerwill";
|
username = "wieerwill";
|
||||||
homeDirectory = "/home/wieerwill";
|
homeDirectory = "/home/wieerwill";
|
||||||
enableNixpkgsReleaseCheck = false;
|
enableNixpkgsReleaseCheck = false;
|
||||||
stateVersion = "24.05"; # Please read the comment before changing.
|
stateVersion = "24.05"; # read DOCs before changing.
|
||||||
|
|
||||||
file = {
|
file = {
|
||||||
# ".screenrc".source = dotfiles/screenrc;
|
# ".screenrc".source = dotfiles/screenrc;
|
||||||
|
49
programs.nix
49
programs.nix
@ -1,30 +1,28 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
{
|
{
|
||||||
# The home.packages option allows you to install Nix packages into your
|
|
||||||
# environment.
|
# The home.packages option allows you to install
|
||||||
|
# Nix packages into your environment.
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# List of programs
|
# List of programs
|
||||||
thunderbird
|
thunderbird
|
||||||
#signal-desktop
|
|
||||||
vscodium # ide
|
|
||||||
vlc # video player
|
|
||||||
keepassxc # password manager
|
|
||||||
alacritty # terminal emulator
|
|
||||||
#logseq # note taking organization
|
|
||||||
okular # pdf viewer
|
|
||||||
firefox # browser
|
|
||||||
borgbackup # system/data bakups
|
|
||||||
filezilla # ftp client
|
|
||||||
#inetutils # ftp cli
|
|
||||||
discord
|
|
||||||
|
|
||||||
# utility
|
# utility
|
||||||
ranger
|
#ranger
|
||||||
vimiv-qt
|
vimiv-qt
|
||||||
zip
|
zip
|
||||||
unzip
|
unzip
|
||||||
htop
|
|
||||||
btop
|
signal-desktop
|
||||||
|
#vscodium
|
||||||
|
vlc
|
||||||
|
keepassxc
|
||||||
|
logseq
|
||||||
|
okular
|
||||||
|
#firefox
|
||||||
|
borgbackup
|
||||||
|
discord
|
||||||
|
|
||||||
|
# utility
|
||||||
pulsemixer
|
pulsemixer
|
||||||
brightnessctl
|
brightnessctl
|
||||||
gammastep # color temperature
|
gammastep # color temperature
|
||||||
@ -32,7 +30,7 @@
|
|||||||
xwayland
|
xwayland
|
||||||
grim # screenshot functionality
|
grim # screenshot functionality
|
||||||
slurp # screenshot functionality
|
slurp # screenshot functionality
|
||||||
wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
|
wl-clipboard # copy/paste from stdin / stdout
|
||||||
mako # notification system developed by swaywm maintainer
|
mako # notification system developed by swaywm maintainer
|
||||||
|
|
||||||
# secret management
|
# secret management
|
||||||
@ -42,15 +40,8 @@
|
|||||||
# steam deck touch compability in non-steam games
|
# steam deck touch compability in non-steam games
|
||||||
#caribou
|
#caribou
|
||||||
#evtest # for input key testing
|
#evtest # for input key testing
|
||||||
|
|
||||||
# # It is sometimes useful to fine-tune packages, for example, by applying
|
|
||||||
# # overrides. You can do that directly here, just don't forget the
|
|
||||||
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
|
||||||
# # fonts?
|
|
||||||
#(pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
|
||||||
nerd-fonts.fantasque-sans-mono
|
|
||||||
nerd-fonts.droid-sans-mono
|
|
||||||
nerd-fonts.jetbrains-mono
|
|
||||||
nerd-fonts.hack
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.direnv.enable = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
50
security.nix
Normal file
50
security.nix
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
#networking.firewall = {
|
||||||
|
# enable = true;
|
||||||
|
# allowedTCPPorts = [ 22 ];
|
||||||
|
#};
|
||||||
|
|
||||||
|
#services.fail2ban = {
|
||||||
|
# enable = true;
|
||||||
|
# maxretry = 3; # Ban IP after 3 failures
|
||||||
|
# bantime = "24h"; # Ban IPs for one day on the first ban
|
||||||
|
# bantime-increment = {
|
||||||
|
# enable = true; # increment of bantime after each violation
|
||||||
|
# formula = "ban.Time * math.exp(float(ban.Count+1)*banFactor)/math.exp(1*banFactor)";
|
||||||
|
# multipliers = "1 2 4 8 16 32 64";
|
||||||
|
# maxtime = "168h"; # Do not ban for more than 1 week
|
||||||
|
# overalljails = true; # bantime based on all violations
|
||||||
|
# };
|
||||||
|
#};
|
||||||
|
|
||||||
|
programs.gpg = {
|
||||||
|
enable = true;
|
||||||
|
mutableKeys = true; # allow changes in keys or trust
|
||||||
|
mutableTrust = true;
|
||||||
|
#publicKeys = [
|
||||||
|
# {
|
||||||
|
# source = ""; #./path/to/key.a;
|
||||||
|
# trust = "ultimate";
|
||||||
|
# }
|
||||||
|
#];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.ssh = {
|
||||||
|
enable = true;
|
||||||
|
addKeysToAgent = "yes"; # let home manager manage ssh keys
|
||||||
|
};
|
||||||
|
|
||||||
|
#services.openssh = {
|
||||||
|
# enable = true;
|
||||||
|
# ##Ports = [ 5432 ];
|
||||||
|
# settings = {
|
||||||
|
# PasswordAuthentication = false;
|
||||||
|
# KbdInteractiveAuthentication = false;
|
||||||
|
# PermitRootLogin = "no";
|
||||||
|
# #AllowUsers = [ "wieerwill" ]
|
||||||
|
# };
|
||||||
|
#};
|
||||||
|
|
||||||
|
}
|
26
sway.nix
26
sway.nix
@ -3,7 +3,7 @@
|
|||||||
let
|
let
|
||||||
# Define variables for your workspaces and displays
|
# Define variables for your workspaces and displays
|
||||||
display1 = "card1-eDP-1";
|
display1 = "card1-eDP-1";
|
||||||
touchDisplay = "10248:4117:FTS3528:00_2808:1015";
|
touchDisplay = "10248:4117:FTS3528:00_2808:1015"; #steamdeck
|
||||||
workspace1 = "1:Web";
|
workspace1 = "1:Web";
|
||||||
workspace2 = "2:App";
|
workspace2 = "2:App";
|
||||||
workspace3 = "3:Chat";
|
workspace3 = "3:Chat";
|
||||||
@ -179,4 +179,28 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.swayidle = {
|
||||||
|
enable = true;
|
||||||
|
timeouts = [
|
||||||
|
{
|
||||||
|
timeout = 60 * 4;
|
||||||
|
command = lib.getExe config.programs.swaylock.package;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.swaylock = {
|
||||||
|
enable = true;
|
||||||
|
#package = pkgs.swaylock-effects;
|
||||||
|
settings = {
|
||||||
|
font = "hack";
|
||||||
|
screenshots = true;
|
||||||
|
clock = true;
|
||||||
|
show-failed-attempts = true;
|
||||||
|
indicator-idle-visible = true;
|
||||||
|
effect-blur = "8x5";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
77
terminal.nix
77
terminal.nix
@ -3,5 +3,82 @@
|
|||||||
|
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
font.normal = { family = "hack"; style = "Regular"; };
|
||||||
|
size = "12";
|
||||||
|
colors.primary = {
|
||||||
|
foreground = "#d8d8d8"; # RRGGBB
|
||||||
|
background = "#181818";
|
||||||
|
dim_foreground = "#828482";
|
||||||
|
};
|
||||||
|
#shell = { program = "/bin/zsh", args = ["-l"] };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
autosuggestion.enable = true;
|
||||||
|
#autosuggestion.highlight = null; # Custom styles for autosuggestion highlighting
|
||||||
|
syntaxHighlighting = {
|
||||||
|
enable = true;
|
||||||
|
highlighters = [ "main" "brackets" "cursor" ];
|
||||||
|
patterns = { "rm -rf *" = "fg=white,bold,bg=red"; };
|
||||||
|
};
|
||||||
|
enableVteIntegration = true; # let the terminal track the current working directory
|
||||||
|
autocd = null; # Automatically enter into a directory if typed directly into shell.
|
||||||
|
sessionVariables = { # Environment variables that will be set for zsh session
|
||||||
|
isZSH = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
oh-my-zsh = {
|
||||||
|
# enable = true;
|
||||||
|
# plugins = [
|
||||||
|
# "alias-finder" # learn alias easier
|
||||||
|
# "colorize"
|
||||||
|
# "cp"
|
||||||
|
# "direnv"
|
||||||
|
# "git"
|
||||||
|
# "git-extras"
|
||||||
|
# "git-lfs"
|
||||||
|
# "history"
|
||||||
|
# "rust"
|
||||||
|
# "ssh"
|
||||||
|
# "sudo"
|
||||||
|
# "vscode"
|
||||||
|
# "z"
|
||||||
|
# ];
|
||||||
|
# theme = "jonathan"; # "amuse"; #"robbyrussell";
|
||||||
|
};
|
||||||
|
|
||||||
|
shellAliases = {
|
||||||
|
ll = "ls -l";
|
||||||
|
edit = "sudo -e";
|
||||||
|
".." = "cd ..";
|
||||||
|
update = "sudo nixos-rebuild switch";
|
||||||
|
};
|
||||||
|
|
||||||
|
history = {
|
||||||
|
ignoreAllDups = true;
|
||||||
|
expireDuplicatesFirst = true;
|
||||||
|
ignorePatterns = ["rm *" "pkill *"];
|
||||||
|
save = 10000; # number of history lines
|
||||||
|
};
|
||||||
|
#setOptions = [
|
||||||
|
# "HIST_IGNORE_ALL_DUPS"
|
||||||
|
#];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.btop = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
color_theme = "tokyo-night"; # "Default";
|
||||||
|
truecolor = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.htop = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
53
vim.nix
53
vim.nix
@ -5,9 +5,52 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
#defaultEditor = true;
|
vimdiffAlias = true;
|
||||||
#extraConfig = ''
|
defaultEditor = true;
|
||||||
# set number relativenumber
|
extraConfig = ''
|
||||||
#'';
|
set number relativenumber
|
||||||
};
|
'';
|
||||||
|
|
||||||
|
plugins = let
|
||||||
|
nvim-treesitter-with-plugins = pkgs.vimPlugins.nvim-treesitter.withPlugins (treesitter-plugins:
|
||||||
|
with treesitter-plugins; [
|
||||||
|
astro
|
||||||
|
bash
|
||||||
|
c
|
||||||
|
css
|
||||||
|
cpp
|
||||||
|
dockerfile
|
||||||
|
git_config
|
||||||
|
git_rebase
|
||||||
|
gitattributes
|
||||||
|
gitcommit
|
||||||
|
gitignore
|
||||||
|
html
|
||||||
|
http
|
||||||
|
javascript
|
||||||
|
json
|
||||||
|
latex
|
||||||
|
markdown
|
||||||
|
nix
|
||||||
|
python
|
||||||
|
rust
|
||||||
|
sql
|
||||||
|
sway
|
||||||
|
typescript
|
||||||
|
vim
|
||||||
|
zig
|
||||||
|
]);
|
||||||
|
in
|
||||||
|
with pkgs.vimPlugins; [
|
||||||
|
# vim-nerdtree??
|
||||||
|
#vim-rainbrow
|
||||||
|
vim-colors-solarized
|
||||||
|
# vim-lightline
|
||||||
|
# syntastic
|
||||||
|
vim-nix
|
||||||
|
nvim-lspconfig
|
||||||
|
nvim-treesitter-with-plugins
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
92
vscode.nix
Normal file
92
vscode.nix
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
enableUpdateCheck = false;
|
||||||
|
enableExtensionUpdateCheck = false;
|
||||||
|
|
||||||
|
userSettings = {
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.inlineSuggest.enabled" = true;
|
||||||
|
"editor.minimap.enabled" = false;
|
||||||
|
"editor.minimap.autohide" = true;
|
||||||
|
"editor.minimap.renderCharacters" = false;
|
||||||
|
"explorer.autoReveal" = false;
|
||||||
|
"explorer.excludeGitIgnore" = true;
|
||||||
|
"extensions.autoUpdate" = false;
|
||||||
|
"git.autofetch" = true;
|
||||||
|
"git.suggestSmartCommit" = false;
|
||||||
|
"git.confirmSync" = false;
|
||||||
|
"security.workspace.trust.enabled" = false;
|
||||||
|
"security.workspace.trust.untrustedFiles" = "open";
|
||||||
|
"workbench.colorTheme" = "SynthWave '84";
|
||||||
|
"workbench.iconTheme" = "material-icon-theme";
|
||||||
|
"workbench.startupEditor" = "none";
|
||||||
|
"workbench.tree.indent" = 16;
|
||||||
|
"rust-analyzer.lens.implementations.enable" = false;
|
||||||
|
|
||||||
|
"[typescript]" = {
|
||||||
|
"editor.defaultFormatter" = "esbenp.prettier-vscode";
|
||||||
|
};
|
||||||
|
"[vue]" = {
|
||||||
|
"editor.defaultFormatter" = "Vue.volar";
|
||||||
|
};
|
||||||
|
"[mdx]" = {
|
||||||
|
"editor.defaultFormatter" = "unifiedjs.vscode-mdx";
|
||||||
|
};
|
||||||
|
"[astro]" = {
|
||||||
|
"editor.defaultFormatter" = "astro-build.astro-vscode";
|
||||||
|
};
|
||||||
|
"[nix]" = {
|
||||||
|
"editor.defaultFormatter" = "jnoortheen.nix-ide";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extensions = with pkgs.vscode-extensions; [
|
||||||
|
# Nix
|
||||||
|
bbenoist.nix
|
||||||
|
jnoortheen.nix-ide
|
||||||
|
#kamadorueda.alejandra
|
||||||
|
|
||||||
|
# Rust
|
||||||
|
rust-lang.rust-analyzer
|
||||||
|
tamasfe.even-better-toml
|
||||||
|
## ? probe-rs.probe-rs-debugger
|
||||||
|
# Swellaby.vscode-rust-test-adapter
|
||||||
|
|
||||||
|
# Python
|
||||||
|
ms-python.python
|
||||||
|
ms-python.debugpy
|
||||||
|
|
||||||
|
# JS/TS
|
||||||
|
# codeandstuff.package-json-upgrade
|
||||||
|
dbaeumer.vscode-eslint
|
||||||
|
esbenp.prettier-vscode
|
||||||
|
# Vue.volar
|
||||||
|
astro-build.astro-vscode
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
yzhang.markdown-all-in-one
|
||||||
|
unifiedjs.vscode-mdx
|
||||||
|
# James-Yu.latex-workshop
|
||||||
|
fill-labs.dependi
|
||||||
|
alefragnani.project-manager
|
||||||
|
foxundermoon.shell-format
|
||||||
|
usernamehw.errorlens
|
||||||
|
|
||||||
|
# Git
|
||||||
|
waderyan.gitblame
|
||||||
|
mhutchie.git-graph
|
||||||
|
donjayamanne.githistory
|
||||||
|
# felipecaputo.git-project-manager
|
||||||
|
codezombiech.gitignore
|
||||||
|
|
||||||
|
# Theme
|
||||||
|
# RobbOwen.synthwave-vscode
|
||||||
|
# PKief.material-icon-theme
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user