last commit till merge with desktop
This commit is contained in:
parent
f1019d6648
commit
3392028942
|
@ -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";
|
||||
}
|
||||
|
||||
|
|
|
@ -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
106
neovim.nix
Normal 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
21
wireguard.nix
Normal 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
36
zsh.nix
Normal 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
|
||||
'';
|
||||
};
|
||||
}
|
Reference in a new issue