nixos-config/home.nix

106 lines
2.8 KiB
Nix

{ pkgs, ... }:
let
userApps = "/home/gregory/.local/share/applications";
in {
home.username = "gregory";
home.homeDirectory = "/home/gregory";
home.stateVersion = "24.11";
programs.home-manager.enable = true;
#nixpkgs.overlays = [import ./d/overlays.nix ];
home.packages = with pkgs; [
(pkgs.callPackage ./de/dwm/default.nix { })
(pkgs.callPackage ./de/dmenu/default.nix { })
(pkgs.callPackage ./de/st/default.nix { })
(pkgs.callPackage ./de/my-tui-utils/default.nix { })
(pkgs.callPackage ./de/sxiv/default.nix { })
(pkgs.callPackage ./de/nethack-gleb/default.nix { })
];
programs.vim = {
enable = true;
plugins = with pkgs.vimPlugins; [ vim-airline nerdtree ];
extraConfig = builtins.readFile ./.vimrc;
};
programs.helix = {
enable = true;
# Add haskell-language-server to Helix's environment
extraPackages = [ pkgs.haskellPackages.haskell-language-server ];
settings = {
theme = "autumn_night_transparent";
editor.cursor-shape = {
normal = "block";
insert = "bar";
select = "underline";
};
};
languages.language = [
{
name = "nix";
auto-format = true;
formatter.command = "${pkgs.nixfmt}/bin/nixfmt";
}
# Optional: Explicit Haskell configuration
{
name = "haskell";
auto-format = true; # Uses HLS by default
# language-servers = [ "haskell-language-server-wrapper" ] # This is the default
}
];
themes = {
autumn_night_transparent = {
"inherits" = "autumn_night";
"ui.background" = { };
};
};
extraConfig = builtins.readFile ./helix-config.toml;
};
gtk = {
enable = true;
theme = { name = "Adwaita-dark"; };
};
home.file."${userApps}/st-vim.desktop".text = ''
[Desktop Entry]
Name=ST Vim
Exec=st -e vim %f
Icon=utilities-terminal
Terminal=false
Type=Application
MimeType=text/plain;
Categories=Utility;TextEditor;
'';
home.file."${userApps}/firefox-default-release.desktop".text = ''
[Desktop Entry]
Name=Firefox
Exec=firefox -P default-release %u
Icon=firefox
Terminal=false
Type=Application
MimeType=x-scheme-handler/http;x-scheme-handler/https;
Categories=Network;WebBrowser;
'';
xdg.mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = [ "firefox-default-release.desktop" ];
"x-scheme-handler/https" = [ "firefox-default-release.desktop" ];
"x-scheme-handler/tg" = [ "org.telegram.desktop.desktop" ];
"x-scheme-handler/tonsite" = [ "org.telegram.desktop.desktop" ];
# Set PDF viewer
"application/pdf" = [ "org.pwmt.zathura.desktop" ];
# Set text editor
"text/plain" = [ "st-vim.desktop" ];
};
};
}