nix/home.nix
mehbark d8b87fa1e2 extremely basic i3
will probably move to home-manager for config
2023-08-15 14:03:16 -04:00

158 lines
3.2 KiB
Nix

{ config, pkgs, ... }:
let
conf = import ./build.conf.nix;
wm = conf.wm;
in
{
/* The home.stateVersion option does not have a default and must be set */
home.stateVersion = "22.05";
home.packages = with pkgs; [
firefox
clojure
deno
# bsdgames
fortune
cowsay
git
sbcl
lispPackages.trivia
# lutris
# mono5
nethack
# chezmoi
# wineWowPackages.stable
# winetricks
# foliate
# thunderbird
starship
exa
ghc
dmenu
];
programs.fish = {
enable = true;
shellInit = import ./fish.conf.nix;
};
programs.vscode = {
enable = true;
enableUpdateCheck = false;
# i prefer to let vscode manage stuff
mutableExtensionsDir = true;
};
programs.neovim = {
enable = true;
coc.enable = true;
coc.settings = ''
{
"rust-analyzer.checkOnSave.command": "clippy",
"rust-analyzer.checkOnSave.extraArgs": ["-- -W clippy::pedantic"],
"languageserver": {
"ccls": {
"command": "ccls",
"filetypes": ["c", "cpp", "objc", "objcpp"],
"rootPatterns": [".ccls", "compile_commands.json", ".vim/", ".git/", ".hg/"],
"initializationOptions": {
"cache": {
"directory": "/tmp/ccls"
}
}
}
},
"inlayHint.enable": true,
"zig.zls.path": "/home/mbk/.config/coc/extensions/coc-zls-data/zls_install/zls"
}
'';
defaultEditor = true;
plugins = with pkgs.vimPlugins; [
vim-airline
vim-airline-themes
ale
vim-fugitive
vim-bufkill
suda-vim
# navigation
nerdtree
nerdtree-git-plugin
plenary-nvim
telescope-nvim
vim-rooter
# Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
# Plug 'junegunn/fzf.vim'
# Plug 'jlanzarotta/bufexplorer'
vim-commentary
#Plug 'mrtazz/DoxygenToolkit.vim'
vim-surround
vim-sexp
vim-operator-user
#Plug 'rhysd/vim-clang-format'
#vim-scripts/a.vim
vim-highlightedyank
# Plug 'autozimu/LanguageClient-neovim', { 'branch': 'next', 'do': 'bash install.sh' }
ncm2
nvim-yarp
# Completion plugins
#Plug 'ncm2/ncm2-bufword'
ncm2-path
# CoC
# Plug 'neoclide/coc.nvim', {'branch': 'release'}
haskell-vim
# Syntactic language support
rust-vim
vim-toml
elixir-tools-nvim
#vim-rubocop
zig-vim
gruvbox
];
extraConfig = import ./nvim.conf.nix;
};
programs.kitty = {
enable = true;
extraConfig = import ./kitty.conf.nix;
};
xsession.windowManager.xmonad = if wm == "xmonad" then {
enable = true;
config = pkgs.writeText "xmonad.hs" ''
import XMonad
import XMonad.Config.Kde
main = xmonad kde4Config
{ terminal = "kitty"
, modMask = mod4Mask
, borderWidth = 1
}
'';
} else {};
wayland.windowManager.hyprland = if wm == "hyprland"
then {
enable = true;
enableNvidiaPatches = true;
} else {};
# xsession.windowManager.i3 = if wm == "i3"
# then {
# enable = true;
# } else {};
}