2023-08-13 22:57:02 -04:00
|
|
|
{ config, pkgs, ... }:
|
2023-08-15 09:38:01 -04:00
|
|
|
let
|
|
|
|
use-x11 = (import ./build.conf.nix).use-x11;
|
|
|
|
in
|
2023-08-13 22:57:02 -04:00
|
|
|
{
|
2023-08-14 07:45:15 -04:00
|
|
|
/* The home.stateVersion option does not have a default and must be set */
|
2023-08-14 07:51:54 -04:00
|
|
|
home.stateVersion = "22.05";
|
2023-08-14 09:18:08 -04:00
|
|
|
|
2023-08-14 07:45:15 -04:00
|
|
|
home.packages = with pkgs; [
|
|
|
|
firefox
|
|
|
|
clojure
|
|
|
|
deno
|
|
|
|
# bsdgames
|
|
|
|
fortune
|
|
|
|
cowsay
|
|
|
|
git
|
|
|
|
sbcl
|
|
|
|
lispPackages.trivia
|
|
|
|
# lutris
|
|
|
|
# mono5
|
|
|
|
nethack
|
2023-08-14 16:40:58 -04:00
|
|
|
# chezmoi
|
2023-08-14 07:45:15 -04:00
|
|
|
# wineWowPackages.stable
|
|
|
|
# winetricks
|
|
|
|
# foliate
|
|
|
|
# thunderbird
|
|
|
|
starship
|
|
|
|
exa
|
2023-08-14 16:40:58 -04:00
|
|
|
ghc
|
2023-08-13 22:57:02 -04:00
|
|
|
];
|
|
|
|
|
2023-08-14 07:45:15 -04:00
|
|
|
programs.fish = {
|
|
|
|
enable = true;
|
|
|
|
|
2023-08-14 09:18:08 -04:00
|
|
|
shellInit = import ./fish.conf.nix;
|
2023-08-14 07:45:15 -04:00
|
|
|
};
|
2023-08-13 22:57:02 -04:00
|
|
|
|
2023-08-14 16:40:58 -04:00
|
|
|
programs.vscode = {
|
|
|
|
enable = true;
|
|
|
|
enableUpdateCheck = false;
|
|
|
|
# i prefer to let vscode manage stuff
|
|
|
|
mutableExtensionsDir = true;
|
|
|
|
};
|
2023-08-14 07:45:15 -04:00
|
|
|
|
|
|
|
programs.neovim = {
|
|
|
|
enable = true;
|
|
|
|
coc.enable = true;
|
|
|
|
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
|
|
|
|
];
|
2023-08-14 09:18:08 -04:00
|
|
|
extraConfig = import ./nvim.conf.nix;
|
2023-08-13 22:57:02 -04:00
|
|
|
};
|
2023-08-14 09:23:17 -04:00
|
|
|
|
|
|
|
programs.kitty = {
|
|
|
|
enable = true;
|
|
|
|
extraConfig = import ./kitty.conf.nix;
|
|
|
|
};
|
2023-08-15 09:38:01 -04:00
|
|
|
|
|
|
|
wayland.windowManager.hyprland.extraConfig = ''
|
|
|
|
$mod = SUPER
|
|
|
|
|
|
|
|
bind = $mod, F, exec, firefox
|
|
|
|
bind = , Print, exec, grimblast copy area
|
|
|
|
|
|
|
|
# workspaces
|
|
|
|
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
|
|
|
${builtins.concatStringsSep "\n" (builtins.genList (
|
|
|
|
x: let
|
|
|
|
ws = let
|
|
|
|
c = (x + 1) / 10;
|
|
|
|
in
|
|
|
|
builtins.toString (x + 1 - (c * 10));
|
|
|
|
in ''
|
|
|
|
bind = $mod, ${ws}, workspace, ${toString (x + 1)}
|
|
|
|
bind = $mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}
|
|
|
|
''
|
|
|
|
)
|
|
|
|
10)}
|
|
|
|
|
|
|
|
# ...
|
|
|
|
'';
|
2023-08-13 22:57:02 -04:00
|
|
|
}
|