Moved some files

This commit is contained in:
FredzyW 2024-06-17 17:53:23 +02:00
parent 2f94e9b5ff
commit 8a26dfc281
33 changed files with 25 additions and 42 deletions

View file

@ -1,122 +0,0 @@
{ pkgs, lib, ... }:
{
programs.aerc = {
enable = true;
extraConfig = {
filters = {
"text/plain"="colorize";
"text/calendar"="calendar";
"message/delivery-status"="colorize";
"message/rfc822"="colorize";
"text/html"="pandoc -f html -t plain | colorize";
"image/*"="feh -";
"application/pdf"="zathura -";
};
ui = {
"border-char-vertical"="";
"border-char-horizontal"="";
"styleset-name"="catppuccin-macchiato";
};
};
stylesets = {
# catppuccin-macchiato = {
# "*.default"="true";
# "*.normal"="true";
#
# "default.fg"="#cad3f5";
#
# "error.fg"="#ed8796";
# "warning.fg"="#f5a97f";
# "success.fg"="#a6da95";
#
# "tab.fg"="#6e738d";
# "tab.bg"="#1e2030";
# "tab.selected.fg"="#cad3f5";
# "tab.selected.bg"="#24273a";
# "tab.selected.bold"="true";
#
# "border.fg"="#181926";
# "border.bold"="true";
#
# "msglist_unread.bold"="true";
# "msglist_flagged.fg"="#eed49f";
# "msglist_flagged.bold"="true";
# "msglist_result.fg"="#8aadf4";
# "msglist_result.bold"="true";
# "msglist_*.selected.bold"="true";
# "msglist_*.selected.bg"="#363a4f";
#
# "dirlist_*.selected.bold"="true";
# "dirlist_*.selected.bg"="#363a4f";
#
# "statusline_default.fg"="#939ab7";
# "statusline_default.bg"="#363a4f";
# "statusline_error.bold"="true";
# "statusline_success.bold"="true";
# "[viewer]" \n;
# "url.fg"="#8aadf4";
# "url.underline"="true";
# "header.bold"="true";
# "signature.dim"="true";
# "diff_meta.bold"="true";
# "diff_chunk.fg"="#8aadf4";
# "diff_chunk_func.fg"="#8aadf4";
# "diff_chunk_func.bold"="true";
# "diff_add.fg"="#a6da95";
# "diff_del.fg"="#ed8796";
# "quote_*.fg"="#6e738d";
# "quote_1.fg"="#939ab7";
# };
catppuccin-macchiato = ''
*.default=true
*.normal=true
default.fg=#cad3f5
error.fg=#ed8796
warning.fg=#f5a97f
success.fg=#a6da95
tab.fg=#6e738d
tab.bg=#1e2030
tab.selected.fg=#cad3f5
tab.selected.bg=#24273a
tab.selected.bold=true
border.fg=#181926
border.bold=true
msglist_unread.bold=true
msglist_flagged.fg=#eed49f
msglist_flagged.bold=true
msglist_result.fg=#8aadf4
msglist_result.bold=true
msglist_*.selected.bold=true
msglist_*.selected.bg=#363a4f
dirlist_*.selected.bold=true
dirlist_*.selected.bg=#363a4f
statusline_default.fg=#939ab7
statusline_default.bg=#363a4f
statusline_error.bold=true
statusline_success.bold=true
[viewer]
url.fg=#8aadf4
url.underline=true
header.bold=true
signature.dim=true
diff_meta.bold=true
diff_chunk.fg=#8aadf4
diff_chunk_func.fg=#8aadf4
diff_chunk_func.bold=true
diff_add.fg=#a6da95
diff_del.fg=#ed8796
quote_*.fg=#6e738d
quote_1.fg=#939ab7
'';
};
};
}

View file

@ -1,19 +0,0 @@
{ pkgs, lib, ... }:
let
dmenu = pkgs.dmenu.overrideAttrs (old: {
src = builtins.fetchGit {
url = "https://github.com/FredzyW/dmenu.git";
rev = "7ec109778998462a6762745c65c47a73283b810e";
};
nativeBuildInputs = with pkgs; [
xorg.libX11.dev
xorg.libXft
imlib2
xorg.libXinerama
];
});
in
{
home.packages = [ dmenu ];
}

View file

@ -1,24 +0,0 @@
{ config
, pkgs
, ...
}: {
services.dunst = {
enable = true;
settings = {
global = {
width = 300;
height = 300;
offset = "30x50";
origin = "top-right";
transparency = 5;
frame_color = "#eceff1";
corner_radius = 10;
};
urgency_normal = {
background = "#181818";
foreground = "#dfdfdf";
timeout = 10;
};
};
};
}

View file

@ -1,26 +0,0 @@
{ pkgs, lib, ... }:
let
dwm = pkgs.dwm.overrideAttrs (old: {
src = builtins.fetchGit {
url = "https://github.com/FredzyW/dwm-conf.git";
rev = "99a1e812295bcf65625a4b5a0dc1022658977920";
};
nativeBuildInputs = with pkgs; [
xorg.libX11.dev
xorg.libXft
imlib2
xorg.libXinerama
];
});
dwmblocks = pkgs.dwmblocks.overrideAttrs (old: {
src = builtins.fetchGit {
url = "https://github.com/FredzyW/dwmblocks.git";
rev = "a334789ec7b9171a3c8e1fcac2ffe8463ee438dc";
};
});
in
{
home.packages = [ dwm dwmblocks ];
}

View file

@ -1,30 +0,0 @@
{ pkgs, lib, myhostname, ... }:
let
dwm = pkgs.dwm.overrideAttrs (old: {
src = builtins.fetchGit {
url = "https://github.com/FredzyW/dwm-conf.git";
rev = "eb3015553442df6a92a79d47ff4ace8297edb9cb";
};
nativeBuildInputs = with pkgs; [
xorg.libX11.dev
xorg.libXft
imlib2
xorg.libXinerama
];
});
dwmblocks = if myhostname == "desktop" then pkgs.dwmblocks.overrideAttrs (old: {
src = builtins.fetchGit {
url = "https://github.com/FredzyW/dwmblocks.git";
rev = "7c81c55390f2deec2a3804217abe80221ef6f46a";
};
}) else pkgs.dwmblocks.overrideAttrs (old: {
src = builtins.fetchGit {
url = "https://github.com/FredzyW/dwmblocks.git";
rev = "a334789ec7b9171a3c8e1fcac2ffe8463ee438dc";
};
});
in
{
home.packages = [ dwm dwmblocks ];
}

View file

@ -1,21 +0,0 @@
{ pkgs, lib, ... }:
{
programs.firefox = {
enable = true;
profiles.default = {
isDefault = true;
userChrome = ''
@import "${
builtins.fetchGit {
url = "https://github.com/rockofox/firefox-minima";
ref = "main";
rev = "c5580fd04e9b198320f79d441c78a641517d7af5"; # <-- Change this
}
}/userChrome.css";
'';
settings = {
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
};
};
};
}

View file

@ -1,69 +0,0 @@
{ pkgs, lib, ... }:
{
programs.fish = {
enable = true;
plugins = [
{
name = "z";
src = pkgs.fetchFromGitHub {
owner = "jethrokuan";
repo = "z";
rev = "e0e1b9dfdba362f8ab1ae8c1afc7ccf62b89f7eb";
sha256 = "0dbnir6jbwjpjalz14snzd3cgdysgcs3raznsijd6savad3qhijc";
};
}
{
name = "autopair";
src = pkgs.fishPlugins.autopair.src;
}
{
name = "foreign-env";
src = pkgs.fishPlugins.foreign-env.src;
}
# {
# name = "pure";
# src = pkgs.fishPlugins.pure.src;
# }
# {
# name = "tide";
# src = pkgs.fishPlugins.tide.src;
# }
{
name = "fzf";
src = pkgs.fishPlugins.fzf.src;
}
{
name = "done";
src = pkgs.fishPlugins.done.src;
}
{
name = "sponge";
src = pkgs.fishPlugins.sponge.src;
}
{
name = "grc";
src = pkgs.fishPlugins.grc.src;
}
];
shellAbbrs = {
homec="nvim ~/nix/config/home.nix";
ls="exa -lag --header";
dev="nix develop --command fish";
spot="steam-run ~/program/spotify_player";
};
interactiveShellInit = ''
set fish_greeting # Disable greeting
set -Ux FZF_DEFAULT_OPTS "--color=fg:#f8f8f2,bg:#282a36,hl:#bd93f9 --color=fg+:#f8f8f2,bg+:#44475a,hl+:#bd93f9 --color=info:#ffb86c,prompt:#50fa7b,pointer:#ff79c6 --color=marker:#ff79c6,spinner:#ffb86c,header:#6272a4"
# set --universal pure_symbol_prompt 
# set --universal pure_enable_nixdevshell true
# set --universal pure_color_primary f5a97f
# set --universal pure_color_danger ed8796
# set --universal pure_color_success a6da95
# set --universal pure_color_warning eed49f
# set --universal pure_color_light f4dbd6
# set --universal pure_color_mute c6a0f6
# set --universal pure_color_danger ed8796
# set --universal pure_color_danger ed8796
'';
};
}

View file

@ -1,8 +0,0 @@
{ pkgs, lib, ... }:
{
programs.git = {
enable = true;
userName = "FredzyW";
userEmail = "fredrik@wastring.com";
};
}

View file

@ -1,14 +0,0 @@
{ pkgs, lib, ... }:
{
xsession.windowManager.i3 = {
enable = true;
package = pkgs.i3-gaps;
config = {
modifier = "Mod4";
gaps = {
inner = 10;
outer = 5;
};
};
};
}

View file

@ -1,23 +0,0 @@
{ pkgs, lib, myhostname, ... }:
{
programs.kitty = {
enable = true;
font = if myhostname == "laptop" then {
name = "FiraCode Nerd Font Bold";
size = 17;
} else {
name = "FiraCode Nerd Font Bold";
size = 16;
};
shellIntegration = {
mode = "no-cursor";
};
theme = "Catppuccin-Macchiato";
settings = {
confirm_os_window_close = 2;
cursor_shape = "block";
cursor_blink_interval = 0;
enable_audio_bell = false;
};
};
}

View file

@ -1,29 +0,0 @@
{ pkgs, lib, ... }:
{
programs.lazygit = {
enable = true;
settings = {
gui = {
theme = {
activeBorderColor = [ "#f5a97f" "bold" ];
inactiveBorderColor = [ "#a5adcb" ];
optionsTextColor = [ "#8aadf4" ];
selectedLineBgColor = [ "#363a4f" ];
cherryPickedCommitBgColor = [ "#494d64" ];
cherryPickedCommitFgColor = [ "#f5a97f" ];
unstagedChangesColor = [ "#ed8796" ];
defaultFgColor = [ "#cad3f5" ];
searchingActiveBorderColor = [ "#eed49f" ];
};
authorColors = {
"*" = "#b7bdf8";
};
showRandomTip = false;
showBottomLine = false;
sidePanelWidth = 0.5;
};
};
};
}

View file

@ -1,86 +0,0 @@
vim.keymap.set('n', 'z', '<Plug>(leap)')
vim.keymap.set('n', 'Z', '<Plug>(leap-from-window)')
vim.keymap.set({ 'x', 'o' }, 'z', '<Plug>(leap-forward)')
vim.keymap.set({ 'x', 'o' }, 'Z', '<Plug>(leap-backward)')
-- Harpoon
vim.keymap.set('n', '<Space>ha', ':lua require("harpoon.mark").add_file()<CR>')
vim.keymap.set('n', '<Space>hf', ':Telescope harpoon marks<CR>')
vim.keymap.set('n', '<Space>he', ':lua require("harpoon.ui").toggle_quick_menu()<CR>')
vim.keymap.set('n', '<Space>hn', ':lua require("harpoon.ui").nav_next()<CR>')
vim.keymap.set('n', '<Space>hb', ':lua require("harpoon.ui").nav_prev()<CR>')
vim.cmd('highlight! HarpoonInactive guibg=NONE guifg=#63698c')
vim.cmd('highlight! HarpoonActive guibg=NONE guifg=white')
vim.cmd('highlight! HarpoonNumberActive guibg=NONE guifg=#7aa2f7')
vim.cmd('highlight! HarpoonNumberInactive guibg=NONE guifg=#7aa2f7')
vim.cmd('highlight! TabLineFill guibg=NONE guifg=white')
local opts = { noremap = true, silent = true }
-- Substitute
vim.keymap.set("n", "s", require('substitute').operator, { noremap = true })
vim.keymap.set("n", "ss", require('substitute').line, { noremap = true })
vim.keymap.set("n", "S", require('substitute').eol, { noremap = true })
vim.keymap.set("x", "s", require('substitute').visual, { noremap = true })
-- Move commands
vim.keymap.set('n', '<Super-j>', ':MoveLine(1)<CR>', opts)
vim.keymap.set('n', '<Super-k>', ':MoveLine(-1)<CR>', opts)
vim.keymap.set('v', '<Super-j>', ':MoveBlock(1)<CR>', opts)
vim.keymap.set('v', '<Super-k>', ':MoveBlock(-1)<CR>', opts)
-- Good navigation mappings for wrap
vim.api.nvim_set_keymap('n', 'j', 'gj', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', 'k', 'gk', { noremap = true, silent = true })
-- Buffer navigation
vim.api.nvim_set_keymap('n', '<Tab>', ':bnext<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<S-Tab>', ':bprevious<CR>', { noremap = true, silent = true })
-- Window navigation
vim.api.nvim_set_keymap('n', '<C-k>', ':wincmd k<CR>', { silent = true })
vim.api.nvim_set_keymap('n', '<C-j>', ':wincmd j<CR>', { silent = true })
vim.api.nvim_set_keymap('n', '<C-h>', ':wincmd h<CR>', { silent = true })
vim.api.nvim_set_keymap('n', '<C-l>', ':wincmd l<CR>', { silent = true })
vim.api.nvim_set_keymap('n', '<Space>c', ':bd<CR>', { silent = true })
-- Sniprun
vim.api.nvim_set_keymap('v', 'f', '<Plug>SnipRun', { silent = true })
vim.api.nvim_set_keymap('n', '<leader>f', '<Plug>SnipRunOperator', { silent = true })
vim.api.nvim_set_keymap('n', '<leader>ff', '<Plug>SnipRun', { silent = true })
-- Highlight yanked
vim.api.nvim_create_autocmd('TextYankPost', {
group = vim.api.nvim_create_augroup('highlight_yank', {}),
desc = 'Hightlight selection on yank',
pattern = '*',
callback = function()
vim.highlight.on_yank { higroup = 'IncSearch', timeout = 200 }
end,
})
-- Telescope bindings
vim.keymap.set('n', '<Space>ff', builtin.find_files, {})
vim.keymap.set('n', '<Space>fg', builtin.live_grep, {})
vim.keymap.set('n', '<Space>fb', builtin.buffers, {})
vim.keymap.set('n', '<Space>fh', builtin.help_tags, {})
-- Bindings for save and quit
vim.api.nvim_set_keymap('n', '<Space>w', ':w<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<Space>q', ':q<CR>', {})
-- Neotree bindings
vim.api.nvim_set_keymap('n', '<Space>e', ':RnvimrToggle<CR>', { noremap = true, silent = true })
vim.api.nvim_set_var('rnvimr_enable_ex', 1)
vim.api.nvim_set_var('rnvimr_enable_picker', 1)
vim.api.nvim_set_var('rnvimr_edit_cmd', 'drop')
vim.api.nvim_set_var('rnvimr_draw_border', 0)
vim.api.nvim_set_var('rnvimr_hide_gitignore', 1)
vim.api.nvim_set_var('rnvimr_border_attr', {fg = 14, bg = -1})
vim.api.nvim_set_var('rnvimr_enable_bw', 1)
vim.api.nvim_set_var('rnvimr_shadow_winblend', 70)
vim.api.nvim_set_var('rnvimr_ranger_cmd', {'ranger', '--cmd=set draw_borders both'})

View file

@ -1,10 +0,0 @@
vim.opt.wrap = true
vim.opt.shiftwidth = 4
vim.opt.tabstop = 4
vim.o.termguicolors = true
vim.wo.relativenumber = true
vim.wo.number = true
vim.g.mapleader = ' '
vim.opt.termguicolors = true

View file

@ -1,167 +0,0 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup({
{
'm4xshen/autoclose.nvim',
},
{
"BurntSushi/ripgrep",
},
{
'kevinhwang91/rnvimr',
},
{
'ThePrimeagen/harpoon',
},
{
'ggandor/leap.nvim',
},
{
'gfanto/fzf-lsp.nvim',
},
{
'junegunn/fzf.vim',
},
{
"junegunn/fzf",
name = "fzf",
dir = "~/.fzf",
build = "./install --all"
},
{
'RRethy/base16-nvim',
},
{
"folke/which-key.nvim",
},
{
"folke/neodev.nvim",
},
{
"mfussenegger/nvim-dap",
},
{
'neovim/nvim-lspconfig'
},
{
'hrsh7th/cmp-nvim-lsp'
},
{
'hrsh7th/nvim-cmp'
},
{
'nvim-focus/focus.nvim',
version = false
},
{
"folke/neoconf.nvim",
cmd = "Neoconf"
},
{
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
opts = {}
},
{
'mrjones2014/legendary.nvim',
-- since legendary.nvim handles all your keymaps/commands,
-- its recommended to load legendary.nvim before other plugins
priority = 10000,
lazy = false,
-- sqlite is only needed if you want to use frecency sorting
-- dependencies = { 'kkharji/sqlite.lua' }
},
{
'VonHeikemen/lsp-zero.nvim',
branch = 'v3.x'
},
{
"catppuccin/nvim",
name = "catppuccin",
priority = 1000
},
{
'kevinhwang91/nvim-bqf'
},
{
'akinsho/bufferline.nvim',
version = "*",
dependencies = 'nvim-tree/nvim-web-devicons'
},
{
'nvim-telescope/telescope-fzf-native.nvim',
build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build'
},
{
"L3MON4D3/LuaSnip",
version = "v2.*",
build = "make install_jsregexp"
},
{
"gbprod/substitute.nvim",
opts = {}
},
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate"
},
{
"michaelb/sniprun",
branch = "master",
build = "sh install.sh",
config = function()
require("sniprun").setup({})
end,
},
{
'nvim-telescope/telescope.nvim',
tag = '0.1.6',
dependencies = {
'nvim-lua/plenary.nvim'
}
},
{
'mrcjkb/haskell-tools.nvim',
version = '^3',
ft = { 'haskell', 'lhaskell', 'cabal', 'cabalproject' },
},
{
"kdheepak/lazygit.nvim",
cmd = {
"LazyGit",
"LazyGitConfig",
"LazyGitCurrentFile",
"LazyGitFilter",
"LazyGitFilterCurrentFile",
},
dependencies = {
"nvim-lua/plenary.nvim",
},
keys = {
{ "<leader>gg", "<cmd>LazyGit<cr>", desc = "LazyGit" }
}
},
{
'nvim-lualine/lualine.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' }
},
{
'numToStr/Comment.nvim',
opts = {},
lazy = false,
},
})

View file

@ -1,230 +0,0 @@
-- Define a function to generate keybinds for navigating to files
local function setup_file_navigation_keybinds(start, stop)
for i = start, stop do
local keybind = string.format('<Space>h%d', i)
local command = string.format(':lua require("harpoon.ui").nav_file(%d)<CR>', i)
vim.keymap.set('n', keybind, command)
end
end
setup_file_navigation_keybinds(1, 9)
require'fzf_lsp'.setup()
require("autoclose").setup({
keys = {
["$"] = { escape = true, close = true, pair = "$$", disabled_filetypes = { "haskell" } },
["'"] = { escape = true, close = true, pair = "''", disabled_filetypes = { "markdown" } },
["`"] = { escape = true, close = true, pair = "``", disabled_filetypes = { "markdown" } },
},
})
require('bqf').setup()
require("ibl").setup()
require("focus").setup()
require("bufferline").setup()
local wk = require("which-key")
wk.register(mappings, opts)
local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
parser_config.csharp = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-c-sharp", -- local path or git repo
files = {"src/parser.c"}, -- note that some parsers also require src/scanner.c or src/scanner.cc
branch = "master", -- default branch in case of git repo if different from master
generate_requires_npm = false, -- if stand-alone parser without npm dependencies
requires_generate_from_grammar = false, -- if folder contains pre-generated src/parser.c
},
filetype = "cs", -- if filetype does not match the parser name
}
require'nvim-treesitter.configs'.setup {
ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "haskell", "python", "bash", "clojure", "nix", "dockerfile", "latex", "csharp", "markdown" },
sync_install = false,
auto_install = true,
ignore_install = { "javascript" },
highlight = {
enable = true,
disable = function(lang, buf)
local max_filesize = 100 * 1024 -- 100 KB
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > max_filesize then
return true
end
end,
additional_vim_regex_highlighting = false,
},
}
local function lsp()
local clients = vim.lsp.buf_get_clients()
if next(clients) == nil then
return
end
for _, client in pairs(clients) do
return ("[" .. client.name .. "]")
end
end
require('lualine').setup {
options = {
icons_enabled = true,
theme = 'base16',
component_separators = { left = '|', right = '|' },
section_separators = { left = '', right = '' },
disabled_filetypes = {
statusline = { 'neo-tree' },
winbar = {},
},
ignore_focus = {},
always_divide_middle = true,
globalstatus = false,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
}
},
sections = {
lualine_a = { 'mode' },
lualine_b = { 'branch', 'diff', 'diagnostics' },
lualine_c = { 'filename' },
lualine_x = { lsp },
lualine_y = { 'filetype' },
lualine_z = {}
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = { 'filename' },
lualine_x = { 'location' },
lualine_y = {},
lualine_z = {}
},
tabline = {},
winbar = {},
inactive_winbar = {},
extensions = {}
}
require("telescope").load_extension('harpoon')
-- LSP Setup
local lsp_zero = require('lsp-zero')
lsp_zero.on_attach(function(client, bufnr)
lsp_zero.default_keymaps({ buffer = bufnr })
end)
require 'lspconfig'.hls.setup {}
require 'lspconfig'.omnisharp.setup {
cmd = { "/home/fw/.nix-profile/bin/dotnet", "/nix/store/jdp56g0j6mf7yjvqy9npw28y4pxcvgsw-omnisharp-roslyn-1.39.10/lib/omnisharp-roslyn/OmniSharp.dll" },
}
require 'lspconfig'.clojure_lsp.setup {}
require 'lspconfig'.nil_ls.setup {}
require 'lspconfig'.marksman.setup {}
require 'lspconfig'.pylsp.setup {}
require 'lspconfig'.bashls.setup {}
require 'lspconfig'.dockerls.setup {}
require 'lspconfig'.docker_compose_language_service.setup {}
require 'lspconfig'.ansiblels.setup {}
require 'lspconfig'.yamlls.setup {}
require 'lspconfig'.lua_ls.setup {
settings = {
Lua = {
diagnostics = {
globals = { 'vim' }
}
}
}
}
require("catppuccin").setup({
flavour = "macchiato",
background = {
light = "latte",
dark = "mocha",
},
transparent_background = false,
show_end_of_buffer = false,
term_colors = false,
dim_inactive = {
enabled = false,
shade = "dark",
percentage = 0.15,
},
no_italic = false,
no_bold = false,
no_underline = false,
styles = {
comments = { "italic" },
conditionals = { "italic" },
loops = {},
functions = {},
keywords = {},
strings = {},
variables = {},
numbers = {},
booleans = {},
properties = {},
types = {},
operators = {},
},
color_overrides = {},
custom_highlights = {},
integrations = {
cmp = true,
gitsigns = true,
nvimtree = true,
treesitter = true,
notify = false,
mini = {
enabled = true,
indentscope_color = "",
},
},
})
vim.cmd('colorscheme base16-catppuccin-macchiato')
local cmp = require('cmp')
cmp.setup({
sources = {
{ name = 'nvim_lsp' },
},
mapping = {
['<CR>'] = cmp.mapping.confirm({ select = false }),
['<C-e>'] = cmp.mapping.abort(),
['<Up>'] = cmp.mapping.select_prev_item({ behavior = 'select' }),
['<Down>'] = cmp.mapping.select_next_item({ behavior = 'select' }),
['<Tab>'] = cmp.mapping.select_next_item({ behavior = 'select' }),
['<C-p>'] = cmp.mapping(function()
if cmp.visible() then
cmp.select_prev_item({ behavior = 'insert' })
else
cmp.complete()
end
end),
['<C-n>'] = cmp.mapping(function()
if cmp.visible() then
cmp.select_next_item({ behavior = 'insert' })
else
cmp.complete()
end
end),
},
snippet = {
expand = function(args)
require('luasnip').lsp_expand(args.body)
end,
},
})

View file

@ -1,93 +0,0 @@
{ pkgs, lib, ... }:
{
networking.firewall = {
allowedTCPPorts = [ 80 443 ];
};
services.nginx = {
enable = true;
user = "nginx";
group = "nginx";
# Use recommended settings
recommendedGzipSettings = true;
recommendedOptimisation = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
virtualHosts = {
"bilder.wastring.com" = {
sslCertificateKey = "/certs/.lego/certificates/wastring.com.key";
sslCertificate = "/certs/.lego/certificates/wastring.com.crt";
forceSSL = true;
locations."/" = {
proxyPass = "http://172.17.0.1:2283";
proxyWebsockets = true;
};
};
"git.wastring.com" = {
sslCertificateKey = "/certs/.lego/certificates/wastring.com.key";
sslCertificate = "/certs/.lego/certificates/wastring.com.crt";
forceSSL = true;
locations."/" = {
proxyPass = "http://192.168.16.1:3000";
proxyWebsockets = true;
};
};
"cal.wastring.com" = {
sslCertificateKey = "/certs/.lego/certificates/wastring.com.key";
sslCertificate = "/certs/.lego/certificates/wastring.com.crt";
forceSSL = true;
locations."/" = {
proxyPass = "http://172.17.0.1:5232";
proxyWebsockets = true;
};
};
"pass.wastring.com" = {
sslCertificateKey = "/certs/.lego/certificates/wastring.com.key";
sslCertificate = "/certs/.lego/certificates/wastring.com.crt";
forceSSL = true;
locations."/" = {
proxyPass = "http://172.24.0.1:9445";
proxyWebsockets = true;
};
};
"home.wastring.com" = {
sslCertificateKey = "/certs/.lego/certificates/wastring.com.key";
sslCertificate = "/certs/.lego/certificates/wastring.com.crt";
forceSSL = true;
locations."/" = {
proxyPass = "http://172.17.0.1:8081";
proxyWebsockets = true;
};
};
# "search.wastring.com" = {
# sslCertificateKey = "/certs/.lego/certificates/wastring.com.key";
# sslCertificate = "/certs/.lego/certificates/wastring.com.crt";
# forceSSL = true;
# locations."/" = {
# proxyPass = "http://172.17.0.1:8060";
# proxyWebsockets = true;
# };
# };
# "docs.wastring.com" = {
# sslCertificateKey = "/certs/.lego/certificates/wastring.com.key";
# sslCertificate = "/certs/.lego/certificates/wastring.com.crt";
# forceSSL = true;
# locations."/" = {
# proxyPass = "http://172.17.0.1:8003";
# proxyWebsockets = true;
# };
# };
# "wastring.com" = {
# sslCertificateKey = "/home/fw/.lego/certificates/wastring.com.key";
# sslCertificate = "/certs/.lego/certificates/wastring.com.crt";
# forceSSL = true;
# locations."/" = {
# proxyPass = "http://172.17.0.1:2283";
# proxyWebsockets = true;
# };
# };
};
};
}

View file

@ -1,9 +0,0 @@
{ config, pkgs, ... }:
{
programs.nh = {
enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 4d --keep 3";
flake = "/home/user/my-nixos-config";
};
}

View file

@ -1,12 +0,0 @@
{ pkgs, lib, ... }:
{
nixpkgs = {
# Configure your nixpkgs instance
config = {
allowUnfree = true;
permittedInsecurePackages = [
"electron-25.9.0"
];
};
};
}

View file

@ -1,52 +0,0 @@
{
config,
pkgs,
...
}: {
home.packages = with pkgs; [
];
programs = {
neovim = {
plugins = [
## Treesitter
pkgs.vimPlugins.nvim-treesitter
pkgs.vimPlugins.nvim-lspconfig
pkgs.vimPlugins.plenary-nvim
pkgs.vimPlugins.telescope-nvim
pkgs.vimPlugins.telescope-fzf-native-nvim
## cmp
pkgs.vimPlugins.nvim-cmp
pkgs.vimPlugins.cmp-nvim-lsp
pkgs.vimPlugins.luasnip
pkgs.vimPlugins.cmp_luasnip
pkgs.vimPlugins.vim-surround
pkgs.vimPlugins.vim-obsession
pkgs.vimPlugins.neoformat
pkgs.vimPlugins.lazygit-nvim
pkgs.vimPlugins.gitsigns-nvim
pkgs.vimPlugins.lualine-nvim
pkgs.vimPlugins.nvim-web-devicons
pkgs.vimPlugins.leap-nvim
pkgs.vimPlugins.vim-repeat
## Debugging
pkgs.vimPlugins.nvim-dap
pkgs.vimPlugins.nvim-dap-ui
pkgs.vimPlugins.nvim-dap-virtual-text
];
extraConfig = ''
lua << EOF
${builtins.readFile config/mappings.lua}
${builtins.readFile config/options.lua}
${builtins.readFile config/setup.lua}
'';
enable = true;
viAlias = true;
vimAlias = true;
};
};
}

View file

@ -1,114 +0,0 @@
{ pkgs, lib, ... }:
{
programs.oh-my-posh = {
enable = true;
enableFishIntegration = true;
settings = {
"$schema"= "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json";
"palette" = {
"os"= "#ACB0BE";
"closer"= "p:os";
"pink"= "#F5BDE6";
"lavender"= "#B7BDF8";
"blue"= "#8aadf4";
"peach" = "#f5a97f";
"red" = "#ed8796";
"green" = "#a6da95";
"mauve" = "#c6a0f6";
};
"blocks"= [
{
"alignment"= "left";
"newline" = true;
"type"= "prompt";
"segments" = [
{
"background"= "transparent";
"foreground"= "p:blue";
# "powerline_symbol"= "\ue0b4";
# "leading_diamond"= "\ue0b6";
"style"= "diamond";
"template"= "{{.Icon}} ";
"type"= "os";
}
{
"foreground"= "p:peach";
"properties"= {
# "folder_icon"= "..\\ue5fe..";
"home_icon"= "~";
"style"= "unique";
};
"style"= "plain";
"template"= "{{ .Path }} ";
"type"= "path";
}
{
"foreground"= "p:green";
"properties"= {
# "branch_icon"= "\\ue725 ";
# "cherry_pick_icon"= "\\ue29b ";
# "commit_icon"= "\\uf417 ";
"fetch_status"= false;
"fetch_upstream_icon"= false;
# "merge_icon"= "\\ue727 ";
# "no_commits_icon"= "\\uf0c3 ";
# "rebase_icon"= "\\ue728 ";
# "revert_icon"= "\\uf0e2 ";
# "tag_icon"= "\\uf412 ";
};
"template"= "{{ .HEAD }} ";
"style"= "plain";
"type"= "git";
}
{
"style"= "plain";
"foreground"= "p:closer";
"type"= "text";
}
{
"foreground"= "p:mauve";
"style"= "plain";
"template"= "{{ .UserName }}@{{ .HostName }} ";
"type"= "session";
}
];
}
{
"type"= "prompt";
"alignment"= "left";
"newline" = true;
"segments" = [
{
"type" = "text";
"style" = "plain";
"background"= "transparent";
"foreground_templates"= [
"{{if gt .Code 0}}p:red{{end}}"
"{{if eq .Code 0}}p:green{{end}}"
];
"template"= "";
}
];
}
];
"final_space"= true;
"version"= 2;
"transient_prompt"= {
"background"= "transparent";
"foreground_templates"= [
"{{if gt .Code 0}}p:red{{end}}"
"{{if eq .Code 0}}p:green{{end}}"
];
"template"= " ";
};
"secondary_prompt"= {
"background"= "transparent";
"foreground_templates"= [
"{{if gt .Code 0}}p:red{{end}}"
"{{if eq .Code 0}}p:green{{end}}"
];
"template"= " ";
};
};
};
}

View file

@ -1,11 +0,0 @@
{ pkgs, ... }:
{
programs.rbw = {
enable = true;
settings = {
email = "fredrik@wastring.com";
pinentry = pkgs.pinentry;
base_url = "https://pass.wastring.com";
};
};
}

View file

@ -1,11 +0,0 @@
{ pkgs, lib, myhostname, sops, ... }:
{
services.spotifyd = {
enable = true;
settings = {
username = "fredzyw";
# password = sops.secrets.spotify_password;
device_name = myhostname;
};
};
}

View file

@ -1,55 +0,0 @@
{ pkgs, lib, ... }:
{
programs.ssh = {
enable = true;
matchBlocks = {
"git.wastring.com" = {
hostname = "git.wastring.com";
port = 55503;
user = "git";
identityFile = "/home/fw/.ssh/id_rsa";
};
"wastring.com" = {
hostname = "wastring.com";
port = 55502;
user = "fw";
identityFile = "/home/fw/.ssh/id_rsa";
};
"lth" = {
hostname = "login.student.lth.se";
port = 22;
user = "fr7658wa-s";
};
"dm2" = {
hostname = "docker-master2";
port = 22;
user = "fw";
identityFile = "/home/fw/.ssh/fw-ssh-key";
};
"ha1" = {
hostname = "hosted-agent-1";
port = 22;
user = "fw";
identityFile = "/home/fw/.ssh/fw-ssh-key";
};
"ba6" = {
hostname = "buildagent6";
port = 22;
user = "fw";
identityFile = "/home/fw/.ssh/fw-ssh-key";
};
"fs1" = {
hostname = "192.168.0.120";
port = 22;
user = "fw";
identityFile = "/home/fw/.ssh/fw-ssh-key";
};
"backups" = {
hostname = "192.168.0.120";
port = 22;
user = "github";
identityFile = "/home/fw/.ssh/github-ssh-key";
};
};
};
}

View file

@ -1,59 +0,0 @@
# This file is generated from "README.org"
{ pkgs, ... }:
{
programs.starship =
let
flavour = "macchiato"; # One of `latte`, `frappe`, `macchiato`, or `mocha`
in
{
enable = true;
enableFishIntegration = true;
settings = {
# Other config here
# format = "$all"; # Remove this line to disable the default prompt format
palette = "catppuccin_${flavour}";
nix_shell = {
disabled = false;
symbol = " ";
};
} // builtins.fromTOML (builtins.readFile
(pkgs.fetchFromGitHub
{
owner = "catppuccin";
repo = "starship";
rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; # Replace with the latest commit hash
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
} + /palettes/${flavour}.toml));
};
# programs.starship = {
# enable = true;
# enableFishIntegration = true;
# package = pkgs.starship;
# settings = {
# # Other config here
# format = "$all"; # Remove this line to disable the default prompt format
# palette = "catppuccin_macchiato";
# add_newline = true;
# character = {
# success_symbol = "[𝝺](#c792ea)";
# vicmd_symbol = "[ ](bold green)";
# error_symbol = "[☓ ](bold red)";
# };
# directory = {
# style = "bold cyan";
# };
# nix_shell = {
# disabled = false;
# symbol = " ";
# };
# } // builtins.fromTOML (builtins.readFile
# (pkgs.fetchFromGitHub
# {
# owner = "catppuccin";
# repo = "starship";
# rev = ""; # Replace with the latest commit hash
# sha256 = "";
# } + /palettes/macchiato.toml));
# };
# }
}

View file

@ -1,44 +0,0 @@
{ pkgs, ... }:
{
programs.tmux = {
enable = true;
mouse = true;
plugins = with pkgs; [
tmuxPlugins.sensible
tmuxPlugins.pain-control
tmuxPlugins.sessionist
tmuxPlugins.logging
{
plugin = tmuxPlugins.resurrect;
extraConfig = ''
resurrect_dir=$HOME/.tmux/resurrect
set -g @resurrect-dir $resurrect_dir
set -g @resurrect-hook-post-save-all 'target=$(readlink -f $resurrect_dir/last); sed s| --cmd .*-vim-pack-dir||g; s|/etc/profiles/per-user/$USER/bin/||g $target | sponge $target'
set -g @resurrect-strategy-nvim 'session'
'';
}
{
plugin = tmuxPlugins.continuum;
extraConfig = ''
set -g @continuum-boot 'on'
set -g @continuum-restore 'on'
'';
}
fw-pkgs.tmuxPlugins.spotify
{
plugin = fw-pkgs.tmuxPlugins.minimal;
extraConfig = ''
bind-key b set-option status
'';
}
];
prefix = "C-a";
terminal = "xterm-256color";
keyMode = "vi";
escapeTime = 0;
extraConfig = "
";
};
}

View file

@ -1,82 +0,0 @@
{ pkgs, lib, ... }:
{
programs.vim = {
enable = true;
plugins = with pkgs.vimPlugins; [
ale
vim-nix
vim-lastplace
dracula-vim
vim-sensible
vim-commentary
vim-fugitive
fzf-vim
YouCompleteMe
asyncomplete-vim
asyncomplete-lsp-vim
ultisnips
vim-snippets
vim-lsp
vim-lsp-snippets
vim-lsp-ultisnips
vim-lsp-settings
asyncomplete-lsp-vim
];
settings = { ignorecase = true; };
extraConfig = ''
nnoremap <Space>f :Files<Cr>
nnoremap <Space>w :w<Cr>
nnoremap <Space>q :q<Cr>
nnoremap <Tab> :bnext<Cr>
nnoremap <S-Tab> :bprev<Cr>
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
inoremap <expr> <cr> pumvisible() ? asyncomplete#close_popup() : "\<cr>"
set cmdheight=1
set relativenumber
set wrap
set shiftwidth=4
set tabstop=4
set termguicolors
colorscheme dracula
function! s:on_lsp_buffer_enabled() abort
setlocal omnifunc=lsp#complete
setlocal signcolumn=yes
if exists('+tagfunc') | setlocal tagfunc=lsp#tagfunc | endif
nmap <buffer> gd <plug>(lsp-definition)
nmap <buffer> gs <plug>(lsp-document-symbol-search)
nmap <buffer> gS <plug>(lsp-workspace-symbol-search)
nmap <buffer> gr <plug>(lsp-references)
nmap <buffer> gi <plug>(lsp-implementation)
nmap <buffer> gt <plug>(lsp-type-definition)
nmap <buffer> <leader>rn <plug>(lsp-rename)
nmap <buffer> [g <plug>(lsp-previous-diagnostic)
nmap <buffer> ]g <plug>(lsp-next-diagnostic)
nmap <buffer> K <plug>(lsp-hover)
nnoremap <buffer> <expr><c-f> lsp#scroll(+4)
nnoremap <buffer> <expr><c-d> lsp#scroll(-4)
let g:lsp_format_sync_timeout = 1000
autocmd! BufWritePre *.rs,*.go call execute('LspDocumentFormatSync')
" refer to doc to add more commands
endfunction
augroup lsp_install
au!
" call s:on_lsp_buffer_enabled only for languages that has the server registered.
autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled()
augroup END
if executable('nil')
autocmd User lsp_setup call lsp#register_server({
\ 'name': 'nil',
\ 'cmd': {server_info->['nil']},
\ 'whitelist': ['nix'],
\ })
endif
'';
};
}

View file

@ -1,9 +0,0 @@
{ pkgs, lib, ... }:
{
programs.zathura = {
enable = true;
options = {
selection-clipboard = "clipboard";
};
};
}

View file

@ -1,66 +0,0 @@
{ pkgs, lib, ... }:
{
programs.zsh = {
enable = true;
initExtra = ''
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
export PATH=/home/fw/.local/bin:$PATH
'';
plugins = with pkgs; [
{
name = "zsh-z";
file = "zsh-z.plugin.zsh";
src = builtins.fetchGit {
url = "https://github.com/agkozak/zsh-z";
rev = "afaf2965b41fdc6ca66066e09382726aa0b6aa04";
};
}
{
name = "powerlevel10k";
src = pkgs.zsh-powerlevel10k;
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
}
];
shellAliases = {
ls="ls --color=auto";
ll="ls -al --color=auto";
ccr="gcc intopt.c && ./a.out";
homec="nvim ~/nix/config/home.nix";
nvimc="nvim ~/.config/nvim/init.lua";
sdg="sudo nix-collect-garbage -d";
udg="nix-collect-garbage -d";
df="df -h";
c="clear";
};
enableCompletion = true;
initExtraBeforeCompInit = ''
# Lines configured by zsh-newuser-install
home() {
cd ~/nix/ && home-manager switch --flake ".#fw@$(hostname)";
}
update() {
sudo nix-channel --update && sudo nixos-rebuild switch --upgrade --flake '.#$(hostname)'
}
reb() {
cd ~/nix/ && sudo nixos-rebuild switch --flake ".#$(hostname)"
}
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
setopt autocd extendedglob
bindkey -v
bindkey '^R' history-incremental-search-backward
bindkey '^[[1;5C' emacs-forward-word
bindkey '^[[1;5D' emacs-backward-word
# End of lines configured by zsh-newuser-install
# The following lines were added by compinstall
zstyle :compinstall filename '/home/fw/.zshrc'
# autoload -Uz compinit
autoload -U compinit; compinit
zstyle ':completion:*' menu select
'';
};
}

View file

@ -1,92 +0,0 @@
{ pkgs, lib, ... }:
{
programs.zsh = {
enable = true;
initExtra = ''
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
export PATH=/home/fw/.local/bin:$PATH
'';
plugins = with pkgs; [
{
name = "zsh-z";
file = "zsh-z.plugin.zsh";
src = builtins.fetchGit {
url = "https://github.com/agkozak/zsh-z";
rev = "afaf2965b41fdc6ca66066e09382726aa0b6aa04";
};
}
{
name = "powerlevel10k";
src = pkgs.zsh-powerlevel10k;
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
}
{
name = "fash-syntax-highlighting";
file = "fast-syntax-highlighting.plugin.zsh";
src = builtins.fetchGit {
url = "https://github.com/zdharma-continuum/fast-syntax-highlighting";
rev = "cf318e06a9b7c9f2219d78f41b46fa6e06011fd9";
};
}
{
name = "zsh-fzf-history-search";
file = "zsh-fzf-history-search.plugin.zsh";
src = builtins.fetchGit {
url = "https://github.com/joshskidmore/zsh-fzf-history-search";
rev = "741012388886e7ee39330fe3cdb6a4803012dc0b";
};
}
{
name = "zsh-autosuggestions";
src = pkgs.zsh-autosuggestions;
}
];
profileExtra = "
if [[ -z $DISPLAY ]]; then
exec startx
fi
";
shellAliases = {
ls="eza";
ll="eza -al";
ccr="gcc intopt.c && ./a.out";
homec="nvim ~/nix/config/home.nix";
nvimc="nvim ~/.config/nvim/init.lua";
sdg="sudo nix-collect-garbage -d";
udg="nix-collect-garbage -d";
df="df -h";
c="clear";
};
enableCompletion = true;
initExtraBeforeCompInit = ''
# Lines configured by zsh-newuser-install
home() {
cd ~/nix/ && home-manager switch --flake ".#fw@$(hostname)";
}
update() {
sudo nix-channel --update && sudo nixos-rebuild switch --upgrade --flake '.#$(hostname)'
}
reb() {
cd ~/nix/ && sudo nixos-rebuild switch --flake ".#$(hostname)"
}
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
setopt autocd extendedglob
bindkey -v
bindkey '^R' history-incremental-search-backward
bindkey '^[[1;5C' emacs-forward-word
bindkey '^[[1;5D' emacs-backward-word
# End of lines configured by zsh-newuser-install
# The following lines were added by compinstall
zstyle :compinstall filename '/home/fw/.zshrc'
# autoload -Uz compinit
autoload -U compinit; compinit
zstyle ':completion:*' menu select
eval $(thefuck --alias)
'';
};
}