dotfiles/nixos/msi/home.nix

114 lines
2.5 KiB
Nix

{ pkgs, ... }:
{
imports = [
./modules/xdg.nix
./modules/gaming.nix
./modules/haskell
./modules/lean.nix
./modules/ocaml.nix
./modules/js.nix
];
home = {
# Home Manager needs a bit of information about you and the
# paths it should manage.
username = "kamov";
homeDirectory = "/home/kamov";
# Packages that should be installed to the user profile.
packages = with pkgs; [
anki
audacity
calibre
chromium
discord
krita
obs-studio
qbittorrent
unrar
vlc
];
};
programs = {
# default shell
fish = {
enable = true;
interactiveShellInit = ''
set fish_greeting # Disable greeting
'';
shellAliases = {
shell = "nix-shell --command fish";
upgrade = "sudo nixos-rebuild switch --upgrade";
};
};
git = {
enable = true;
userName = "Maciej Jur";
userEmail = "maciej@kamoshi.org";
signing = {
signByDefault = true;
key = "191CBFF5F72ECAFD!";
};
};
firefox = {
enable = true;
package = pkgs.firefox-devedition;
policies = {
"DisablePocket" = true;
"DisableTelemetry" = true;
"PrimaryPassword" = false;
"PasswordManagerEnabled" = false;
"FirefoxHome" = {
"Search" = true;
"TopSites" = false;
"SponsoredTopSites" = false;
"Highlights" = false;
"Pocket" = false;
"SponsoredPocket" = false;
"Snippets" = false;
"Locked" = true;
};
"Preferences" = {
"widget.use-xdg-desktop-portal.file-picker" = 1;
"widget.use-xdg-desktop-portal.mime-handler" = 1;
};
};
};
neovim = {
enable = true;
defaultEditor = true;
extraPackages = with pkgs; [
fd
ripgrep
tree-sitter
# LSP
lua-language-server # lua
marksman # markdown
nixd # nix
nodePackages.svelte-language-server # svelte
nodePackages.typescript-language-server # typescript
ocamlPackages.ocaml-lsp # ocaml
vscode-langservers-extracted # css/html/json
lldb
];
};
};
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "24.05";
}