{ pkgs, ... }: { imports = [ ./gaming.nix ./ghci ]; 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 vlc # OCaml ocaml ocamlformat opam dune_3 ]; }; xdg.mimeApps.defaultApplications = { "text/html" = ["firefox-devedition.desktop"]; "text/xml" = ["firefox-devedition.desktop"]; "x-scheme-handler/http" = ["firefox-devedition.desktop"]; "x-scheme-handler/https" = ["firefox-devedition.desktop"]; }; programs = { # default shell fish = { enable = true; interactiveShellInit = '' set fish_greeting # Disable greeting ''; shellAliases = { shell = "nix-shell --command fish"; }; }; 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"; }