last commit till merge with desktop

This commit is contained in:
Freecorn 2024-10-18 20:30:36 -06:00
parent f1019d6648
commit 3392028942
5 changed files with 176 additions and 2 deletions

View file

@ -15,6 +15,8 @@ in
./jimbo.nix
./vaultwarden.nix
"${homeManager}/nixos"
# ./wireguard.nix
# ./neovim.nix
];
# Bootloader
@ -272,6 +274,7 @@ in
steam-run
# openwebrx
qbittorrent
vim
];
# Enable the OpenSSH daemon.
@ -327,6 +330,11 @@ in
};
};
# :3
# NFS server
# services.nfs.server = {
# enable = true;
@ -341,4 +349,3 @@ in
# Don't change this
system.stateVersion = "24.05";
}

View file

@ -25,6 +25,10 @@ in {
useGlobalPkgs = true;
useUserPackages = true;
users.freecorn = { config, pkgs, ... }: {
# imports = [
# ./zsh.nix
# ./neovim.nix
# ];
# Install user programs
home.packages = (with pkgs; [
rustdesk-flutter anydesk vlc

106
neovim.nix Normal file
View file

@ -0,0 +1,106 @@
{pkgs, outputs, ...}: {
# Install Neovim and plugins
programs.neovim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
plugins = with pkgs.vimPlugins; [
# Vim theme
vim-airline
vim-airline-themes
# Internal clipboard
vim-vsnip
cmp-vsnip
# Autocomplete manager
lspkind-nvim
# Autocomplete plugins
cmp-nvim-lsp
cmp-buffer
cmp-path
cmp-cmdline
nvim-cmp
# Hex color visualizer and color theme
nvim-colorizer-lua
vim-monokai-pro
# Discord
vimsence
];
extraConfig = ''
lua <<EOF
-- Set up nvim-cmp
local cmp = require'cmp'
cmp.setup({
snippet = {
-- REQUIRED - you must specify a snippet engine
expand = function(args)
vim.fn["vsnip#anonymous"](args.body)
end,
},
mapping = cmp.mapping.preset.insert({
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'vsnip' }
}, {
{ name = 'buffer' },
})
})
-- Use buffer source for '/' and '?'
cmp.setup.cmdline({ '/', '?' }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'buffer' }
}
})
-- Use cmdline & path source for ':'
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'path' }
}, {
{ name = 'cmdline' }
})
})
EOF
colorscheme monokai_pro
let g:airline_theme='onedark'
let g:airline#extensions#tabline#enabled = 1
hi Normal guibg=none ctermbg=235
hi EndOfBuffer guibg=none ctermbg=235
hi LineNr guibg=none ctermbg=none
lua require'colorizer'.setup()
set nu rnu
set termguicolors
set mouse=a
set undofile
set undodir=$HOME/.local/share/nvim/undo
set undolevels=100
set undoreload=10000
nmap <C-x> :bnext<CR>
nmap <C-z> :bprev<CR>
nmap <C-w> :bd<CR>
let g:vimsence_small_text = 'NeoVim'
let g:vimsence_small_image = 'neovim'
'';
};
}

21
wireguard.nix Normal file
View file

@ -0,0 +1,21 @@
{outputs, ...}: {
networking.firewall = {
allowedUDPPorts = [ 51820 ];
};
networking.wireguard.interfaces = {
"${outputs.ips.wgInt}" = {
# Define IP of client in per device config
listenPort = 51820;
privateKey = outputs.secrets.wgClientPriv;
peers = [
{ # 0.0.0.0 makes wg act like a traditional VPN
publicKey = outputs.secrets.wgServerPub;
allowedIPs = [ "0.0.0.0/0" ];
endpoint = "other.${outputs.secrets.cornDomain}:51820";
persistentKeepalive = 25;
}
];
};
};
}

36
zsh.nix Normal file
View file

@ -0,0 +1,36 @@
{pkgs, config, outputs, ...}: {
programs.zsh = {
enable = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
oh-my-zsh = {
enable = true;
theme = "alanpeabody";
plugins = ["git"];
};
shellAliases = {
# NixOS aliases
nixclean = "sudo nix-store --gc; nix-collect-garbage -d";
nixpurge = "sudo nix-collect-garbage --delete-old";
nixoptimize = "sudo nix store optimise";
nixcleanall = "nixclean; nixpurge; nixoptimize";
# Flake commands
flakedate = "sudo nix flake update /etc/nixos";
sysswitch = "sudo nixos-rebuild switch --flake /etc/nixos";
homeswitch = "home-manager switch --flake /etc/nixos";
nixswitch = "sysswitch; homeswitch;";
nixdate = "flakedate && sysswitch; homeswitch";
# Unzip to 7za
unzip = "7za x";
};
initExtra = ''
${pkgs.any-nix-shell}/bin/any-nix-shell zsh --info-right | source /dev/stdin;
setopt HIST_IGNORE_SPACE
setopt RM_STAR_WAIT
'';
};
}