Compare commits
	
		
			4 commits
		
	
	
		
			9ec7fb3c67
			...
			c4e46d0a28
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| c4e46d0a28 | |||
| d73ecb1bdb | |||
| e1aa67dbb2 | |||
| 3aeda379d5 | 
					 14 changed files with 373 additions and 272 deletions
				
			
		| 
						 | 
					@ -70,6 +70,9 @@
 | 
				
			||||||
(defwidget power []
 | 
					(defwidget power []
 | 
				
			||||||
  (box :class "power" :valign "end" "⏻"))
 | 
					  (box :class "power" :valign "end" "⏻"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(defwidget tray []
 | 
				
			||||||
 | 
					  (systray :orientation "v" :icon-size 20))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(defwidget bar []
 | 
					(defwidget bar []
 | 
				
			||||||
  (centerbox :orientation "vertical"
 | 
					  (centerbox :orientation "vertical"
 | 
				
			||||||
       :halign "center"
 | 
					       :halign "center"
 | 
				
			||||||
| 
						 | 
					@ -81,6 +84,7 @@
 | 
				
			||||||
         (mic)
 | 
					         (mic)
 | 
				
			||||||
         (volume)
 | 
					         (volume)
 | 
				
			||||||
         (battery)
 | 
					         (battery)
 | 
				
			||||||
 | 
					         (tray)
 | 
				
			||||||
         (power))))
 | 
					         (power))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -88,6 +88,7 @@ dwindle {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
misc {
 | 
					misc {
 | 
				
			||||||
    layers_hog_keyboard_focus=true
 | 
					    layers_hog_keyboard_focus=true
 | 
				
			||||||
 | 
					    middle_click_paste=true
 | 
				
			||||||
    vfr=1
 | 
					    vfr=1
 | 
				
			||||||
    vrr=on
 | 
					    vrr=on
 | 
				
			||||||
    disable_hyprland_logo=true
 | 
					    disable_hyprland_logo=true
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,155 +1,28 @@
 | 
				
			||||||
" (Neo)vim Configuration 
 | 
					" (Neo)vim Configuration
 | 
				
			||||||
" By Flying_Stitchman
 | 
					" By Flying_Stitchman 4 Jan 2022
 | 
				
			||||||
" 4 Jan 2022
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 " Basic Configuration
 | 
					" Move this to the keymap file at some point later
 | 
				
			||||||
 | 
					 | 
				
			||||||
syntax on
 | 
					 | 
				
			||||||
set spell
 | 
					 | 
				
			||||||
set hlsearch
 | 
					 | 
				
			||||||
set ignorecase
 | 
					 | 
				
			||||||
set number relativenumber
 | 
					 | 
				
			||||||
set noswapfile
 | 
					 | 
				
			||||||
inoremap jk <ESC>
 | 
					inoremap jk <ESC>
 | 
				
			||||||
xnoremap gy "+y
 | 
					xnoremap gy "+y
 | 
				
			||||||
let mapleader = "`"
 | 
					let mapleader = " "
 | 
				
			||||||
 | 
					" fast move
 | 
				
			||||||
 | 
					noremap J 6j
 | 
				
			||||||
 | 
					noremap K 6k
 | 
				
			||||||
 | 
					noremap H <Cmd>BufferLineCyclePrev<CR>
 | 
				
			||||||
 | 
					noremap L <Cmd>BufferLineCycleNext<CR>
 | 
				
			||||||
 | 
					" Moving between windows
 | 
				
			||||||
 | 
					noremap <C-h> <C-w>h
 | 
				
			||||||
 | 
					noremap <C-j> <C-w>j
 | 
				
			||||||
 | 
					noremap <C-k> <C-w>k
 | 
				
			||||||
 | 
					noremap <C-l> <C-w>l
 | 
				
			||||||
 | 
					" fix it
 | 
				
			||||||
 | 
					noremap gh K
 | 
				
			||||||
 | 
					noremap M J
 | 
				
			||||||
 | 
					tnoremap <Esc> <C-\><C-n>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Good indents " 
 | 
					" nvim builtin option config
 | 
				
			||||||
set tabstop=2
 | 
					luafile /etc/nixos/config/nvim/lua/options.lua
 | 
				
			||||||
set shiftwidth=2
 | 
					" nvim keymapping
 | 
				
			||||||
set expandtab
 | 
					luafile /etc/nixos/config/nvim/lua/keymap.lua
 | 
				
			||||||
 | 
					" Main Config stuffs
 | 
				
			||||||
 " Make Lines Wrap Properly
 | 
					luafile /etc/nixos/config/nvim/nvim.lua
 | 
				
			||||||
set linebreak
 | 
					 | 
				
			||||||
set wrap
 | 
					 | 
				
			||||||
 " True Color Support
 | 
					 | 
				
			||||||
if has('nvim')
 | 
					 | 
				
			||||||
  set t_8f=[38;2;%lu;%lu;%lum
 | 
					 | 
				
			||||||
  set t_8b=[48;2;%lu;%lu;%lum
 | 
					 | 
				
			||||||
  set termguicolors 
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
"colorscheme cwcolors
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 " Highlight Trailing Spaces
 | 
					 | 
				
			||||||
let c_space_errors=1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
set noincsearch
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 " Plugs
 | 
					 | 
				
			||||||
"call plug#begin()
 | 
					 | 
				
			||||||
"Plug 'neovim/nvim-lspconfig'
 | 
					 | 
				
			||||||
"Plug 'jackguo380/vim-lsp-cxx-highlight'
 | 
					 | 
				
			||||||
"Plug 'folke/tokyonight.nvim', { 'branch': 'main' }
 | 
					 | 
				
			||||||
"Plug 'tribela/vim-transparent'
 | 
					 | 
				
			||||||
"Plug 'hrsh7th/nvim-cmp'
 | 
					 | 
				
			||||||
"Plug 'hrsh7th/cmp-nvim-lsp'
 | 
					 | 
				
			||||||
"Plug 'saadparwaiz1/cmp_luasnip'
 | 
					 | 
				
			||||||
"Plug 'L3MON4D3/LuaSnip'
 | 
					 | 
				
			||||||
"call plug#end()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
let g:airline#extensions#wordcount#filetypes = '\vasciidoc|help|mail|markdown|markdown.pandoc|org|rst|tex|text'
 | 
					 | 
				
			||||||
set laststatus=2    " enables vim-airline.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 " C Syntax highlighting
 | 
					 | 
				
			||||||
lua << EOF
 | 
					 | 
				
			||||||
require'lspconfig'.rust_analyzer.setup{}
 | 
					 | 
				
			||||||
require'lspconfig'.texlab.setup{}
 | 
					 | 
				
			||||||
require'lspconfig'.svls.setup{}
 | 
					 | 
				
			||||||
require'lspconfig'.pylsp.setup{
 | 
					 | 
				
			||||||
  settings = {
 | 
					 | 
				
			||||||
    pylsp = {
 | 
					 | 
				
			||||||
      plugins = {
 | 
					 | 
				
			||||||
        pycodestyle = {
 | 
					 | 
				
			||||||
          ignore = {'W391'},
 | 
					 | 
				
			||||||
          maxLineLength = 100
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
	pylint = {
 | 
					 | 
				
			||||||
	  enabled = false
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	pyflakes = {
 | 
					 | 
				
			||||||
	  enabled = true
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
require'lspconfig'.ccls.setup{
 | 
					 | 
				
			||||||
	init_options = {
 | 
					 | 
				
			||||||
		highlight = {
 | 
					 | 
				
			||||||
			lsRanges = true;
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- Add additional capabilities supported by nvim-cmp
 | 
					 | 
				
			||||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
local lspconfig = require('lspconfig')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- Enable some language servers with the additional completion capabilities offered by nvim-cmp
 | 
					 | 
				
			||||||
local servers = { 'clangd', 'rust_analyzer',  'tsserver' }
 | 
					 | 
				
			||||||
for _, lsp in ipairs(servers) do
 | 
					 | 
				
			||||||
  lspconfig[lsp].setup {
 | 
					 | 
				
			||||||
    -- on_attach = my_custom_on_attach,
 | 
					 | 
				
			||||||
    capabilities = capabilities,
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- luasnip setup
 | 
					 | 
				
			||||||
local luasnip = require 'luasnip'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- nvim-cmp setup
 | 
					 | 
				
			||||||
local cmp = require 'cmp'
 | 
					 | 
				
			||||||
cmp.setup {
 | 
					 | 
				
			||||||
  snippet = {
 | 
					 | 
				
			||||||
    expand = function(args)
 | 
					 | 
				
			||||||
      luasnip.lsp_expand(args.body)
 | 
					 | 
				
			||||||
    end,
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  mapping = cmp.mapping.preset.insert({
 | 
					 | 
				
			||||||
    ['<C-u>'] = cmp.mapping.scroll_docs(-4), -- Up
 | 
					 | 
				
			||||||
    ['<C-d>'] = cmp.mapping.scroll_docs(4), -- Down
 | 
					 | 
				
			||||||
    -- C-b (back) C-f (forward) for snippet placeholder navigation.
 | 
					 | 
				
			||||||
    ['<C-Space>'] = cmp.mapping.complete(),
 | 
					 | 
				
			||||||
    ['<CR>'] = cmp.mapping.confirm {
 | 
					 | 
				
			||||||
      behavior = cmp.ConfirmBehavior.Replace,
 | 
					 | 
				
			||||||
      select = true,
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    ['<Tab>'] = cmp.mapping(function(fallback)
 | 
					 | 
				
			||||||
      if cmp.visible() then
 | 
					 | 
				
			||||||
        cmp.select_next_item()
 | 
					 | 
				
			||||||
      elseif luasnip.expand_or_jumpable() then
 | 
					 | 
				
			||||||
        luasnip.expand_or_jump()
 | 
					 | 
				
			||||||
      else
 | 
					 | 
				
			||||||
        fallback()
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
    end, { 'i', 's' }),
 | 
					 | 
				
			||||||
    ['<S-Tab>'] = cmp.mapping(function(fallback)
 | 
					 | 
				
			||||||
      if cmp.visible() then
 | 
					 | 
				
			||||||
        cmp.select_prev_item()
 | 
					 | 
				
			||||||
      elseif luasnip.jumpable(-1) then
 | 
					 | 
				
			||||||
        luasnip.jump(-1)
 | 
					 | 
				
			||||||
      else
 | 
					 | 
				
			||||||
        fallback()
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
    end, { 'i', 's' }),
 | 
					 | 
				
			||||||
  }),
 | 
					 | 
				
			||||||
  sources = {
 | 
					 | 
				
			||||||
    { name = 'nvim_lsp' },
 | 
					 | 
				
			||||||
    { name = 'luasnip' },
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 " Color Themes
 | 
					 | 
				
			||||||
colorscheme tokyonight
 | 
					 | 
				
			||||||
hi Comment guifg=#e69dc5
 | 
					 | 
				
			||||||
hi Linenr guifg=#a672f3
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										39
									
								
								config/nvim/lua/options.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								config/nvim/lua/options.lua
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,39 @@
 | 
				
			||||||
 | 
					-- Options File
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local opt = vim.opt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Basic Options I like
 | 
				
			||||||
 | 
					opt.hlsearch = true
 | 
				
			||||||
 | 
					opt.ignorecase = true
 | 
				
			||||||
 | 
					opt.relativenumber = true
 | 
				
			||||||
 | 
					opt.spell = true
 | 
				
			||||||
 | 
					opt.swapfile = false
 | 
				
			||||||
 | 
					opt.syntax = "on"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Had this disabled before might not like
 | 
				
			||||||
 | 
					opt.incsearch = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- 24-bit color
 | 
				
			||||||
 | 
					opt.termguicolors = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Good indents
 | 
				
			||||||
 | 
					opt.tabstop = 2
 | 
				
			||||||
 | 
					opt.shiftwidth = 2
 | 
				
			||||||
 | 
					opt.expandtab = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Show trailing whitespace but fancy
 | 
				
			||||||
 | 
					opt.list = true
 | 
				
			||||||
 | 
					opt.listchars = {
 | 
				
			||||||
 | 
					  tab = "→ ",
 | 
				
			||||||
 | 
					  trail = "╳",
 | 
				
			||||||
 | 
					  nbsp = "⎵",
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Make Lines Wrap Properly
 | 
				
			||||||
 | 
					opt.linebreak = true
 | 
				
			||||||
 | 
					opt.wrap = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Colors
 | 
				
			||||||
 | 
					vim.cmd("colorscheme tokyonight")
 | 
				
			||||||
 | 
					vim.cmd("hi Comment guifg=#e69dc5")
 | 
				
			||||||
 | 
					vim.cmd("hi Linenr guifg=#a672f3")
 | 
				
			||||||
							
								
								
									
										147
									
								
								config/nvim/nvim.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										147
									
								
								config/nvim/nvim.lua
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,147 @@
 | 
				
			||||||
 | 
					-- This will need some refactoring as it is mostly a
 | 
				
			||||||
 | 
					-- copy and paste from the previous single-file .vim config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require'lspconfig'.rust_analyzer.setup{}
 | 
				
			||||||
 | 
					require'lspconfig'.texlab.setup{}
 | 
				
			||||||
 | 
					require'lspconfig'.svls.setup{}
 | 
				
			||||||
 | 
					require'lspconfig'.pylsp.setup{
 | 
				
			||||||
 | 
					  settings = {
 | 
				
			||||||
 | 
					    pylsp = {
 | 
				
			||||||
 | 
					      plugins = {
 | 
				
			||||||
 | 
					        pycodestyle = {
 | 
				
			||||||
 | 
					          ignore = {'W391'},
 | 
				
			||||||
 | 
					          maxLineLength = 100
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					  pylint = {
 | 
				
			||||||
 | 
					    enabled = false
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  pyflakes = {
 | 
				
			||||||
 | 
					    enabled = true
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					require'lspconfig'.ccls.setup{
 | 
				
			||||||
 | 
					  init_options = {
 | 
				
			||||||
 | 
					    highlight = {
 | 
				
			||||||
 | 
					      lsRanges = true;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Add additional capabilities supported by nvim-cmp
 | 
				
			||||||
 | 
					local capabilities = require("cmp_nvim_lsp").default_capabilities()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local lspconfig = require('lspconfig')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Enable some language servers with the additional completion capabilities offered by nvim-cmp
 | 
				
			||||||
 | 
					local servers = { 'clangd', 'rust_analyzer',  'ts_ls', 'typst_lsp', 'vhdl_ls' }
 | 
				
			||||||
 | 
					for _, lsp in ipairs(servers) do
 | 
				
			||||||
 | 
					  lspconfig[lsp].setup {
 | 
				
			||||||
 | 
					    -- on_attach = my_custom_on_attach,
 | 
				
			||||||
 | 
					    capabilities = capabilities,
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- luasnip setup
 | 
				
			||||||
 | 
					local luasnip = require 'luasnip'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- nvim-cmp setup
 | 
				
			||||||
 | 
					local cmp = require 'cmp'
 | 
				
			||||||
 | 
					cmp.setup {
 | 
				
			||||||
 | 
					  snippet = {
 | 
				
			||||||
 | 
					    expand = function(args)
 | 
				
			||||||
 | 
					      luasnip.lsp_expand(args.body)
 | 
				
			||||||
 | 
					    end,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  mapping = cmp.mapping.preset.insert({
 | 
				
			||||||
 | 
					    ['<C-u>'] = cmp.mapping.scroll_docs(-4), -- Up
 | 
				
			||||||
 | 
					    ['<C-d>'] = cmp.mapping.scroll_docs(4), -- Down
 | 
				
			||||||
 | 
					    -- C-b (back) C-f (forward) for snippet placeholder navigation.
 | 
				
			||||||
 | 
					    ['<C-Space>'] = cmp.mapping.complete(),
 | 
				
			||||||
 | 
					    ['<CR>'] = cmp.mapping.confirm {
 | 
				
			||||||
 | 
					      behavior = cmp.ConfirmBehavior.Replace,
 | 
				
			||||||
 | 
					      select = true,
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    ['<Tab>'] = cmp.mapping(function(fallback)
 | 
				
			||||||
 | 
					      if cmp.visible() then
 | 
				
			||||||
 | 
					        cmp.select_next_item()
 | 
				
			||||||
 | 
					      elseif luasnip.expand_or_jumpable() then
 | 
				
			||||||
 | 
					        luasnip.expand_or_jump()
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					        fallback()
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    end, { 'i', 's' }),
 | 
				
			||||||
 | 
					    ['<S-Tab>'] = cmp.mapping(function(fallback)
 | 
				
			||||||
 | 
					      if cmp.visible() then
 | 
				
			||||||
 | 
					        cmp.select_prev_item()
 | 
				
			||||||
 | 
					      elseif luasnip.jumpable(-1) then
 | 
				
			||||||
 | 
					        luasnip.jump(-1)
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					        fallback()
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    end, { 'i', 's' }),
 | 
				
			||||||
 | 
					  }),
 | 
				
			||||||
 | 
					  sources = {
 | 
				
			||||||
 | 
					    { name = 'nvim_lsp' },
 | 
				
			||||||
 | 
					    { name = 'luasnip' },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--[[
 | 
				
			||||||
 | 
					    u.-*'M'*-.u
 | 
				
			||||||
 | 
					  x`   _____   `x
 | 
				
			||||||
 | 
					 o`  _|  ___|   `o
 | 
				
			||||||
 | 
					,   |   |___      ,
 | 
				
			||||||
 | 
					3   |_      |     E
 | 
				
			||||||
 | 
					'     |  _  |     '
 | 
				
			||||||
 | 
					 o,   |_| |_|   ,o
 | 
				
			||||||
 | 
					  x".         ."x
 | 
				
			||||||
 | 
					    n"--.W.--"n
 | 
				
			||||||
 | 
					 Kiloroy Was Here
 | 
				
			||||||
 | 
					]]
 | 
				
			||||||
 | 
					package.path = package.path .. ";/etc/nixos/config/nvim"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Funky plugins
 | 
				
			||||||
 | 
					require("bufferline").setup({ options = {
 | 
				
			||||||
 | 
					  always_show_bufferline = true,
 | 
				
			||||||
 | 
					  show_buffer_close_icons = false,
 | 
				
			||||||
 | 
					  separator_style = "slope",
 | 
				
			||||||
 | 
					  style_preset = {
 | 
				
			||||||
 | 
					    require("bufferline").style_preset.no_italic,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  offsets = {
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      filetype = "neo-tree",
 | 
				
			||||||
 | 
					      text = "File Explorer",
 | 
				
			||||||
 | 
					      highlight = "Directory",
 | 
				
			||||||
 | 
					      text_align = "left",
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					},})
 | 
				
			||||||
 | 
					require("ibl").setup()
 | 
				
			||||||
 | 
					require("gitsigns").setup()
 | 
				
			||||||
 | 
					require("which-key").setup({ global = false })
 | 
				
			||||||
 | 
					require("telescope").setup()
 | 
				
			||||||
 | 
					require("neo-tree").setup()
 | 
				
			||||||
 | 
					require("spaceman").setup({
 | 
				
			||||||
 | 
					  workspaces = {
 | 
				
			||||||
 | 
					     "/etc/nixos",
 | 
				
			||||||
 | 
					     { "config", "/etc/nixos/config/" },
 | 
				
			||||||
 | 
					     { "home", "~/" },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  directories = {
 | 
				
			||||||
 | 
					     "~/Documents/Classes",
 | 
				
			||||||
 | 
					     "~/Documents/Repos",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  use_default_keymaps = true,
 | 
				
			||||||
 | 
					  hooks = {
 | 
				
			||||||
 | 
					    before_move = "Neotree close",
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>e", function()
 | 
				
			||||||
 | 
					  require("neo-tree.command").execute({ action = "show", position = "right", toggle = true, dir = vim.loop.cwd() })
 | 
				
			||||||
 | 
					end, { desc = "Open Neotree", remap = true })
 | 
				
			||||||
							
								
								
									
										32
									
								
								config/zshrc
									
										
									
									
									
								
							
							
						
						
									
										32
									
								
								config/zshrc
									
										
									
									
									
								
							| 
						 | 
					@ -7,7 +7,6 @@ unsetopt autocd beep notify
 | 
				
			||||||
unsetopt PROMPT_SP
 | 
					unsetopt PROMPT_SP
 | 
				
			||||||
bindkey -v
 | 
					bindkey -v
 | 
				
			||||||
# End of lines configured by zsh-newuser-install
 | 
					# End of lines configured by zsh-newuser-install
 | 
				
			||||||
 | 
					 | 
				
			||||||
export XDG_CONFIG_HOME="$HOME/.config"
 | 
					export XDG_CONFIG_HOME="$HOME/.config"
 | 
				
			||||||
export XDG_CACHE_HOME="$HOME/.cache"
 | 
					export XDG_CACHE_HOME="$HOME/.cache"
 | 
				
			||||||
export XDG_DATA_HOME="$HOME/.local/share"
 | 
					export XDG_DATA_HOME="$HOME/.local/share"
 | 
				
			||||||
| 
						 | 
					@ -18,6 +17,10 @@ alias kon="ncmpcpp -b ~/.config/ncmpcpp/bindings"
 | 
				
			||||||
alias myip="curl ifconfig.me"
 | 
					alias myip="curl ifconfig.me"
 | 
				
			||||||
alias ghidra="_JAVA_AWT_WM_NONREPARENTING=1 ghidra"
 | 
					alias ghidra="_JAVA_AWT_WM_NONREPARENTING=1 ghidra"
 | 
				
			||||||
alias ls='eza'
 | 
					alias ls='eza'
 | 
				
			||||||
 | 
					alias l='ls -l'
 | 
				
			||||||
 | 
					alias la='ls -la'
 | 
				
			||||||
 | 
					alias ll='ls -l'
 | 
				
			||||||
 | 
					alias lla='ls -la'
 | 
				
			||||||
alias v="nvim"   # Launch neovim with 'v'
 | 
					alias v="nvim"   # Launch neovim with 'v'
 | 
				
			||||||
alias mountUSB="mount /home/flyingstitchman/ExternalDrive" # Automagically mount and unmount my flashdrive
 | 
					alias mountUSB="mount /home/flyingstitchman/ExternalDrive" # Automagically mount and unmount my flashdrive
 | 
				
			||||||
alias umountUSB="umount /home/flyingstitchman/ExternalDrive"
 | 
					alias umountUSB="umount /home/flyingstitchman/ExternalDrive"
 | 
				
			||||||
| 
						 | 
					@ -30,6 +33,16 @@ alias imv="imv -b aa77bb"
 | 
				
			||||||
alias find="fd"
 | 
					alias find="fd"
 | 
				
			||||||
alias tree="eza --tree"
 | 
					alias tree="eza --tree"
 | 
				
			||||||
alias icat="kitty +kitten icat"
 | 
					alias icat="kitty +kitten icat"
 | 
				
			||||||
 | 
					alias qsus="NIXPKGS_ALLOW_UNFREE=1 nix-shell -p quartus-prime-lite -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/fe7ab74a86d78ba00d144aa7a8da8c71a200c563.tar.gz"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# thanks fire :3
 | 
				
			||||||
 | 
					alias c='clear'
 | 
				
			||||||
 | 
					alias lg='lazygit'
 | 
				
			||||||
 | 
					# Future fire, this is for a meme.
 | 
				
			||||||
 | 
					nya() {
 | 
				
			||||||
 | 
					   args=$(echo $@ | sed 's/nya/git/g')
 | 
				
			||||||
 | 
					   git $args 2>&1 >/dev/null | sed 's/git/nya/g' | sed 's/GIT/NYA/g' | sed 's/Git/Nya/g'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Automatically get new programs for autocompletion
 | 
					# Automatically get new programs for autocompletion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,6 +50,19 @@ zshcache_time="$(date +%s%N)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
autoload -Uz add-zsh-hook
 | 
					autoload -Uz add-zsh-hook
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function osc7-pwd() {
 | 
				
			||||||
 | 
					    emulate -L zsh # also sets localoptions for us
 | 
				
			||||||
 | 
					    setopt extendedglob
 | 
				
			||||||
 | 
					    local LC_ALL=C
 | 
				
			||||||
 | 
					    printf '\e]2;%s%s\e\' ${PWD//(#m)([^@-Za-z&-;_~])/%${(l:2::0:)$(([##16]#MATCH))}}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function chpwd-osc7-pwd() {
 | 
				
			||||||
 | 
					    (( ZSH_SUBSHELL )) || osc7-pwd
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					add-zsh-hook -Uz chpwd chpwd-osc7-pwd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
rehash_precmd() {
 | 
					rehash_precmd() {
 | 
				
			||||||
  if [[ -a /var/cache/zsh/pacman ]]; then
 | 
					  if [[ -a /var/cache/zsh/pacman ]]; then
 | 
				
			||||||
    local paccache_time="$(date -r /var/cache/zsh/pacman +%s%N)"
 | 
					    local paccache_time="$(date -r /var/cache/zsh/pacman +%s%N)"
 | 
				
			||||||
| 
						 | 
					@ -84,9 +110,7 @@ export EDITOR=nvim
 | 
				
			||||||
#export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
 | 
					#export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
 | 
				
			||||||
export PATH="${PATH}:/home/flyingstitchman/.cargo/bin"
 | 
					export PATH="${PATH}:/home/flyingstitchman/.cargo/bin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Ibus
 | 
					# Fcitx for Xwayland
 | 
				
			||||||
GTK_IM_MODULE=fcitx
 | 
					 | 
				
			||||||
QT_IM_MODULE=fcitx
 | 
					 | 
				
			||||||
XMODIFIERS=@im=fcitx
 | 
					XMODIFIERS=@im=fcitx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 # Clean Up
 | 
					 # Clean Up
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										94
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										94
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							| 
						 | 
					@ -1,36 +1,5 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "nodes": {
 | 
					  "nodes": {
 | 
				
			||||||
    "flake-compat": {
 | 
					 | 
				
			||||||
      "flake": false,
 | 
					 | 
				
			||||||
      "locked": {
 | 
					 | 
				
			||||||
        "lastModified": 1627913399,
 | 
					 | 
				
			||||||
        "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=",
 | 
					 | 
				
			||||||
        "owner": "edolstra",
 | 
					 | 
				
			||||||
        "repo": "flake-compat",
 | 
					 | 
				
			||||||
        "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2",
 | 
					 | 
				
			||||||
        "type": "github"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "original": {
 | 
					 | 
				
			||||||
        "owner": "edolstra",
 | 
					 | 
				
			||||||
        "repo": "flake-compat",
 | 
					 | 
				
			||||||
        "type": "github"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "flake-utils": {
 | 
					 | 
				
			||||||
      "locked": {
 | 
					 | 
				
			||||||
        "lastModified": 1623875721,
 | 
					 | 
				
			||||||
        "narHash": "sha256-A8BU7bjS5GirpAUv4QA+QnJ4CceLHkcXdRp4xITDB0s=",
 | 
					 | 
				
			||||||
        "owner": "numtide",
 | 
					 | 
				
			||||||
        "repo": "flake-utils",
 | 
					 | 
				
			||||||
        "rev": "f7e004a55b120c02ecb6219596820fcd32ca8772",
 | 
					 | 
				
			||||||
        "type": "github"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "original": {
 | 
					 | 
				
			||||||
        "owner": "numtide",
 | 
					 | 
				
			||||||
        "repo": "flake-utils",
 | 
					 | 
				
			||||||
        "type": "github"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "home-manager": {
 | 
					    "home-manager": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "nixpkgs": [
 | 
					        "nixpkgs": [
 | 
				
			||||||
| 
						 | 
					@ -38,11 +7,11 @@
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1713547570,
 | 
					        "lastModified": 1730450782,
 | 
				
			||||||
        "narHash": "sha256-i8tNz47Lfsq5QWFLyE3rIm0gs2UUvXXAxfWTC24e370=",
 | 
					        "narHash": "sha256-0AfApF8aexgB6o34qqLW2cCX4LaWJajBVdU6ddiWZBM=",
 | 
				
			||||||
        "owner": "nix-community",
 | 
					        "owner": "nix-community",
 | 
				
			||||||
        "repo": "home-manager",
 | 
					        "repo": "home-manager",
 | 
				
			||||||
        "rev": "7c61e400a99f33cdff3118c1e4032bcb049e1a30",
 | 
					        "rev": "8ca921e5a806b5b6171add542defe7bdac79d189",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -55,11 +24,11 @@
 | 
				
			||||||
    "mobile-nixos": {
 | 
					    "mobile-nixos": {
 | 
				
			||||||
      "flake": false,
 | 
					      "flake": false,
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1713034591,
 | 
					        "lastModified": 1730307383,
 | 
				
			||||||
        "narHash": "sha256-zEtSq4e1hsf5nPoTzsx+cvHTusQxFdyDpD3mOa360A0=",
 | 
					        "narHash": "sha256-EJYo2VPXVMGQbY+bI4Xav14fXXioBt3KICtXNI6i76o=",
 | 
				
			||||||
        "owner": "nixos",
 | 
					        "owner": "nixos",
 | 
				
			||||||
        "repo": "mobile-nixos",
 | 
					        "repo": "mobile-nixos",
 | 
				
			||||||
        "rev": "5455e4455b231218f6198b39383a0ad4c1d6638e",
 | 
					        "rev": "0516be85630befa2c1e8042ac873342ce186b2f6",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -70,11 +39,11 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixos-hardware": {
 | 
					    "nixos-hardware": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1713521961,
 | 
					        "lastModified": 1730368399,
 | 
				
			||||||
        "narHash": "sha256-EwR8wW9AqJhSIY+0oxWRybUZ32BVKuZ9bjlRh8SJvQ8=",
 | 
					        "narHash": "sha256-F8vJtG389i9fp3k2/UDYHMed3PLCJYfxCqwiVP7b9ig=",
 | 
				
			||||||
        "owner": "Nixos",
 | 
					        "owner": "Nixos",
 | 
				
			||||||
        "repo": "nixos-hardware",
 | 
					        "repo": "nixos-hardware",
 | 
				
			||||||
        "rev": "5d48925b815fd202781bfae8fb6f45c07112fdb2",
 | 
					        "rev": "da14839ac5f38ee6adbdb4e6db09b5eef6d6ccdc",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -86,62 +55,43 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs": {
 | 
					    "nixpkgs": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1713297878,
 | 
					        "lastModified": 1730200266,
 | 
				
			||||||
        "narHash": "sha256-hOkzkhLT59wR8VaMbh1ESjtZLbGi+XNaBN6h49SPqEc=",
 | 
					        "narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
 | 
				
			||||||
        "owner": "NixOS",
 | 
					        "owner": "Nixos",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "rev": "66adc1e47f8784803f2deb6cacd5e07264ec2d5c",
 | 
					        "rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
        "owner": "NixOS",
 | 
					        "owner": "Nixos",
 | 
				
			||||||
        "ref": "nixos-unstable",
 | 
					        "ref": "nixos-unstable",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs_2": {
 | 
					    "nixpkgs-quartus": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1628148846,
 | 
					        "lastModified": 1685573264,
 | 
				
			||||||
        "narHash": "sha256-V8aZJBROfNDk40cvFjKUnOnL7sF+BYwCQUUpLP8y4uE=",
 | 
					        "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=",
 | 
				
			||||||
        "owner": "NixOS",
 | 
					        "owner": "nixos",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "rev": "9a8eb5a464f373e79d19d0ed2e53e0d31f78fe92",
 | 
					        "rev": "380be19fbd2d9079f677978361792cb25e8a3635",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
        "owner": "NixOS",
 | 
					        "owner": "nixos",
 | 
				
			||||||
 | 
					        "ref": "nixos-22.05",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "osu-nixos": {
 | 
					 | 
				
			||||||
      "inputs": {
 | 
					 | 
				
			||||||
        "flake-compat": "flake-compat",
 | 
					 | 
				
			||||||
        "flake-utils": "flake-utils",
 | 
					 | 
				
			||||||
        "nixpkgs": "nixpkgs_2"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "locked": {
 | 
					 | 
				
			||||||
        "lastModified": 1695759061,
 | 
					 | 
				
			||||||
        "narHash": "sha256-s9OYi0tzWSjFUaGLnLg08tTm8OEu1uZqGTtKmIRwHic=",
 | 
					 | 
				
			||||||
        "owner": "Asqiir",
 | 
					 | 
				
			||||||
        "repo": "osu-nixos",
 | 
					 | 
				
			||||||
        "rev": "4e0096e1eee74383b9350962d8bff094648a7968",
 | 
					 | 
				
			||||||
        "type": "github"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "original": {
 | 
					 | 
				
			||||||
        "owner": "Asqiir",
 | 
					 | 
				
			||||||
        "repo": "osu-nixos",
 | 
					 | 
				
			||||||
        "type": "github"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "root": {
 | 
					    "root": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "home-manager": "home-manager",
 | 
					        "home-manager": "home-manager",
 | 
				
			||||||
        "mobile-nixos": "mobile-nixos",
 | 
					        "mobile-nixos": "mobile-nixos",
 | 
				
			||||||
        "nixos-hardware": "nixos-hardware",
 | 
					        "nixos-hardware": "nixos-hardware",
 | 
				
			||||||
        "nixpkgs": "nixpkgs",
 | 
					        "nixpkgs": "nixpkgs",
 | 
				
			||||||
        "osu-nixos": "osu-nixos"
 | 
					        "nixpkgs-quartus": "nixpkgs-quartus"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,8 +6,8 @@
 | 
				
			||||||
    nixpkgs,
 | 
					    nixpkgs,
 | 
				
			||||||
    nixpkgs-xr,
 | 
					    nixpkgs-xr,
 | 
				
			||||||
    nixos-hardware,
 | 
					    nixos-hardware,
 | 
				
			||||||
 | 
					    nixpkgs-quartus,
 | 
				
			||||||
    home-manager,
 | 
					    home-manager,
 | 
				
			||||||
    osu-nixos,
 | 
					 | 
				
			||||||
    ...
 | 
					    ...
 | 
				
			||||||
  } : {
 | 
					  } : {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -85,6 +85,6 @@
 | 
				
			||||||
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
 | 
					    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
 | 
				
			||||||
    nixpkgs-xr.url = "github:nix-community/nixpkgs-xr";
 | 
					    nixpkgs-xr.url = "github:nix-community/nixpkgs-xr";
 | 
				
			||||||
    nixos-hardware.url = "github:Nixos/nixos-hardware/master";
 | 
					    nixos-hardware.url = "github:Nixos/nixos-hardware/master";
 | 
				
			||||||
    osu-nixos.url = "github:Asqiir/osu-nixos";
 | 
					    nixpkgs-quartus.url = "github:nixos/nixpkgs/nixos-22.05";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -66,6 +66,24 @@ in
 | 
				
			||||||
      allowedUDPPorts = [ 22000 ];
 | 
					      allowedUDPPorts = [ 22000 ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    services.udev.packages = [
 | 
				
			||||||
 | 
					      (pkgs.writeTextFile {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        name = "alterra-udev";
 | 
				
			||||||
 | 
					        destination = "/etc/udev/rules.d/92-alterra.rules";
 | 
				
			||||||
 | 
					        text = ''
 | 
				
			||||||
 | 
					        # USB-Blaster
 | 
				
			||||||
 | 
					        SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666"
 | 
				
			||||||
 | 
					        SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6002", MODE="0666"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6003", MODE="0666"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # USB-Blaster II
 | 
				
			||||||
 | 
					        SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6010", MODE="0666"
 | 
				
			||||||
 | 
					        SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6810", MODE="0666"
 | 
				
			||||||
 | 
					        '';
 | 
				
			||||||
 | 
					    })];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    environment.etc.hosts.mode = "0644";
 | 
					    environment.etc.hosts.mode = "0644";
 | 
				
			||||||
    nix.settings.experimental-features = [ "nix-command" "flakes" ];
 | 
					    nix.settings.experimental-features = [ "nix-command" "flakes" ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,8 +35,11 @@
 | 
				
			||||||
    "kernel.yama.ptrace_scope=0"
 | 
					    "kernel.yama.ptrace_scope=0"
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  virtualisation.docker.enable = true;
 | 
					  virtualisation = {
 | 
				
			||||||
  virtualisation.libvirtd.enable = true;
 | 
					    docker.enable = true;
 | 
				
			||||||
 | 
					    libvirtd.enable = true;
 | 
				
			||||||
 | 
					    waydroid.enable = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
  hardware.bluetooth.enable = true;
 | 
					  hardware.bluetooth.enable = true;
 | 
				
			||||||
  hardware.bluetooth.settings.General.Experimental = true;
 | 
					  hardware.bluetooth.settings.General.Experimental = true;
 | 
				
			||||||
  hardware.graphics = {
 | 
					  hardware.graphics = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,17 +10,23 @@
 | 
				
			||||||
  boot.kernelModules = [ "kvm-intel" ];
 | 
					  boot.kernelModules = [ "kvm-intel" ];
 | 
				
			||||||
  boot.extraModulePackages = [ ];
 | 
					  boot.extraModulePackages = [ ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/" =
 | 
					  fileSystems = {
 | 
				
			||||||
    { device = "/dev/disk/by-uuid/d626409d-8166-45c2-a168-09dfab31b8a4";
 | 
					    "/" = {
 | 
				
			||||||
 | 
					      device = "/dev/disk/by-uuid/d626409d-8166-45c2-a168-09dfab31b8a4";
 | 
				
			||||||
      fsType = "btrfs";
 | 
					      fsType = "btrfs";
 | 
				
			||||||
      options = [ "subvol=@nix-root" ];
 | 
					      options = [ "compress=zstd" "subvol=@nix-root" ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    "/home" = {
 | 
				
			||||||
  fileSystems."/home" = 
 | 
					      device = "/dev/disk/by-uuid/d626409d-8166-45c2-a168-09dfab31b8a4";
 | 
				
			||||||
    { device = "/dev/disk/by-uuid/d626409d-8166-45c2-a168-09dfab31b8a4";
 | 
					 | 
				
			||||||
      fsType = "btrfs";
 | 
					      fsType = "btrfs";
 | 
				
			||||||
      options = [ "subvol=@home" ];
 | 
					      options = [ "compress=zstd" "subvol=@home" ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    "/nix" = {
 | 
				
			||||||
 | 
					      device = "/dev/disk/by-uuid/d626409d-8166-45c2-a168-09dfab31b8a4";
 | 
				
			||||||
 | 
					      fsType = "btrfs";
 | 
				
			||||||
 | 
					      options = [ "compress=zstd" "subvol=@nix-store" "noatime"];
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  boot.initrd.luks.devices."luksdev".device = "/dev/disk/by-uuid/100a5596-671b-48ba-a1d1-0723559baf87";
 | 
					  boot.initrd.luks.devices."luksdev".device = "/dev/disk/by-uuid/100a5596-671b-48ba-a1d1-0723559baf87";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,33 +15,40 @@ let
 | 
				
			||||||
    "megapixels"
 | 
					    "megapixels"
 | 
				
			||||||
  ] pkgs;
 | 
					  ] pkgs;
 | 
				
			||||||
  pcPkgs = lib.attrVals [
 | 
					  pcPkgs = lib.attrVals [
 | 
				
			||||||
    #osu-lazer
 | 
					 | 
				
			||||||
    "dracula-theme"
 | 
					 | 
				
			||||||
    "wl-clipboard"
 | 
					 | 
				
			||||||
    "brightnessctl"
 | 
					    "brightnessctl"
 | 
				
			||||||
    "clipman"
 | 
					    "clipman"
 | 
				
			||||||
    "powertop"
 | 
					 | 
				
			||||||
    "easyeffects"
 | 
					 | 
				
			||||||
    "mutt-wizard"
 | 
					 | 
				
			||||||
    "gamescope"
 | 
					 | 
				
			||||||
    "cyrus-sasl-xoauth2"
 | 
					    "cyrus-sasl-xoauth2"
 | 
				
			||||||
 | 
					    "dracula-theme"
 | 
				
			||||||
 | 
					    "easyeffects"
 | 
				
			||||||
 | 
					    "gamescope"
 | 
				
			||||||
    "libnotify"
 | 
					    "libnotify"
 | 
				
			||||||
    "networkmanager-openvpn"
 | 
					    "mutt-wizard"
 | 
				
			||||||
 | 
					    "powertop"
 | 
				
			||||||
 | 
					    "wl-clipboard"
 | 
				
			||||||
    # temporary home manager things
 | 
					    # temporary home manager things
 | 
				
			||||||
 | 
					    "eww"
 | 
				
			||||||
 | 
					    "ifuse"
 | 
				
			||||||
    "img2pdf"
 | 
					    "img2pdf"
 | 
				
			||||||
    "inotify-tools"
 | 
					    "inotify-tools"
 | 
				
			||||||
    "eww"
 | 
					 | 
				
			||||||
    "jq"
 | 
					    "jq"
 | 
				
			||||||
    "pandoc"
 | 
					 | 
				
			||||||
    #"texliveFull"
 | 
					 | 
				
			||||||
    "typst"
 | 
					 | 
				
			||||||
    "socat"
 | 
					 | 
				
			||||||
    "libimobiledevice"
 | 
					    "libimobiledevice"
 | 
				
			||||||
    "ifuse"
 | 
					    "socat"
 | 
				
			||||||
  ] pkgs ++ [ inputs.osu-nixos pkgs.wineWowPackages.stableFull ];
 | 
					    "typst"
 | 
				
			||||||
 | 
					  ] pkgs ++ [ pkgs.wineWowPackages.stableFull ];
 | 
				
			||||||
  serverPkgs = lib.attrVals [
 | 
					  serverPkgs = lib.attrVals [
 | 
				
			||||||
    #"package"
 | 
					    #"package"
 | 
				
			||||||
  ] pkgs;
 | 
					  ] pkgs;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  spaceman-nvim = pkgs.vimUtils.buildVimPlugin {
 | 
				
			||||||
 | 
					    name = "spaceman-nvim";
 | 
				
			||||||
 | 
					    src = pkgs.fetchFromGitHub {
 | 
				
			||||||
 | 
					      owner = "FireIsGood";
 | 
				
			||||||
 | 
					      repo = "spaceman.nvim";
 | 
				
			||||||
 | 
					      rev = "7910d202073bcc5f567481426f771b3737451dd9";
 | 
				
			||||||
 | 
					      hash = "sha256-VvKce2uiFzv0TjoJfEX461p9tY9aE237Xr1q/Lw3Utw=";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  options = {
 | 
					  options = {
 | 
				
			||||||
| 
						 | 
					@ -64,11 +71,14 @@ in
 | 
				
			||||||
      "glib"
 | 
					      "glib"
 | 
				
			||||||
      "gnumake"
 | 
					      "gnumake"
 | 
				
			||||||
      "gnupg"
 | 
					      "gnupg"
 | 
				
			||||||
 | 
					      "neofetch"
 | 
				
			||||||
      "p7zip"
 | 
					      "p7zip"
 | 
				
			||||||
      "pinentry"
 | 
					      "pinentry"
 | 
				
			||||||
      "neofetch"
 | 
					      "typst-lsp"
 | 
				
			||||||
      "unzip"
 | 
					      "unzip"
 | 
				
			||||||
 | 
					      "vhdl-ls"
 | 
				
			||||||
      "wget"
 | 
					      "wget"
 | 
				
			||||||
 | 
					      "zip"
 | 
				
			||||||
      "zoxide"
 | 
					      "zoxide"
 | 
				
			||||||
    ] pkgs)
 | 
					    ] pkgs)
 | 
				
			||||||
    ++ (lib.optionals config.stitchyconf.artPkgs.enable artPkgs)
 | 
					    ++ (lib.optionals config.stitchyconf.artPkgs.enable artPkgs)
 | 
				
			||||||
| 
						 | 
					@ -87,14 +97,22 @@ in
 | 
				
			||||||
          customRC = builtins.readFile ../config/nvim/init.vim;
 | 
					          customRC = builtins.readFile ../config/nvim/init.vim;
 | 
				
			||||||
          packages.myVimPackage = with pkgs.vimPlugins; {
 | 
					          packages.myVimPackage = with pkgs.vimPlugins; {
 | 
				
			||||||
            start = [
 | 
					            start = [
 | 
				
			||||||
              nvim-lspconfig
 | 
					              bufferline-nvim
 | 
				
			||||||
              nvim-cmp
 | 
					 | 
				
			||||||
              cmp-nvim-lsp
 | 
					              cmp-nvim-lsp
 | 
				
			||||||
              luasnip
 | 
					 | 
				
			||||||
              cmp_luasnip
 | 
					              cmp_luasnip
 | 
				
			||||||
 | 
					              gitsigns-nvim
 | 
				
			||||||
 | 
					              indent-blankline-nvim
 | 
				
			||||||
 | 
					              lazy-nvim
 | 
				
			||||||
 | 
					              luasnip
 | 
				
			||||||
 | 
					              neo-tree-nvim
 | 
				
			||||||
 | 
					              nvim-cmp
 | 
				
			||||||
 | 
					              nvim-lspconfig
 | 
				
			||||||
 | 
					              spaceman-nvim
 | 
				
			||||||
 | 
					              telescope-nvim
 | 
				
			||||||
              tokyonight-nvim
 | 
					              tokyonight-nvim
 | 
				
			||||||
              vim-lsp-cxx-highlight
 | 
					 | 
				
			||||||
              typst-vim
 | 
					              typst-vim
 | 
				
			||||||
 | 
					              vim-lsp-cxx-highlight
 | 
				
			||||||
 | 
					              which-key-nvim
 | 
				
			||||||
            ];
 | 
					            ];
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,10 +8,16 @@
 | 
				
			||||||
      "nvidia-settings"
 | 
					      "nvidia-settings"
 | 
				
			||||||
      "nvidia-x11"
 | 
					      "nvidia-x11"
 | 
				
			||||||
      "osu-lazer"
 | 
					      "osu-lazer"
 | 
				
			||||||
 | 
					      "quartus-prime-lite"
 | 
				
			||||||
 | 
					      "quartus-prime-lite-unwrapped"
 | 
				
			||||||
      "steam"
 | 
					      "steam"
 | 
				
			||||||
      "steam-original"
 | 
					      "steam-original"
 | 
				
			||||||
      "steam-run"
 | 
					      "steam-run"
 | 
				
			||||||
 | 
					      "steam-unwrapped"
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
 | 
					  nixpkgs.config.permittedInsecurePackages = [
 | 
				
			||||||
 | 
					    "olm-3.2.16"
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  hardware = {
 | 
					  hardware = {
 | 
				
			||||||
    opentabletdriver.enable = true;
 | 
					    opentabletdriver.enable = true;
 | 
				
			||||||
| 
						 | 
					@ -20,11 +26,12 @@
 | 
				
			||||||
  programs = {
 | 
					  programs = {
 | 
				
			||||||
    firefox.enable = true;
 | 
					    firefox.enable = true;
 | 
				
			||||||
    hyprland.enable = true;
 | 
					    hyprland.enable = true;
 | 
				
			||||||
    openvpn3.enable = true;
 | 
					    kdeconnect.enable = true;
 | 
				
			||||||
    steam = {
 | 
					    steam = {
 | 
				
			||||||
      enable = true;
 | 
					      enable = true;
 | 
				
			||||||
      remotePlay.openFirewall = true;
 | 
					      remotePlay.openFirewall = true;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    wireshark.enable = true;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  security.pam.services.swaylock = {};
 | 
					  security.pam.services.swaylock = {};
 | 
				
			||||||
| 
						 | 
					@ -49,18 +56,22 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  users.users.stitchynyan = {
 | 
					  users.users.stitchynyan = {
 | 
				
			||||||
    description = "Personal user";
 | 
					    description = "Personal user";
 | 
				
			||||||
    extraGroups = [ "audio" "dialout" "docker" "kvm" "libvirtd" "networkmanager" "wheel" ];
 | 
					    extraGroups = [ "audio" "dialout" "docker" "kvm" "libvirtd" "networkmanager" "wireshark" "wheel" ];
 | 
				
			||||||
    home = "/home/stitchynyan";
 | 
					    home = "/home/stitchynyan";
 | 
				
			||||||
    initialHashedPassword = "$y$j9T$rvySCWHYE4AO4A9J0Vf20.$x5hpBNsOWovQFtNfFUIt17OAH5MJFwFBGjxbaEIagJ3";
 | 
					    initialHashedPassword = "$y$j9T$rvySCWHYE4AO4A9J0Vf20.$x5hpBNsOWovQFtNfFUIt17OAH5MJFwFBGjxbaEIagJ3";
 | 
				
			||||||
    isNormalUser = true;
 | 
					    isNormalUser = true;
 | 
				
			||||||
    shell = pkgs.zsh;
 | 
					    shell = pkgs.zsh;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  i18n.inputMethod = {
 | 
					  i18n = {
 | 
				
			||||||
    enable = true;
 | 
					    defaultLocale = "ja_JP.UTF-8";
 | 
				
			||||||
    type = "fcitx5";
 | 
					    inputMethod = {
 | 
				
			||||||
    fcitx5.addons = [
 | 
					      enable = true;
 | 
				
			||||||
      pkgs.fcitx5-mozc
 | 
					      type = "fcitx5";
 | 
				
			||||||
    ];
 | 
					      fcitx5.addons = with pkgs; [
 | 
				
			||||||
 | 
					        fcitx5-mozc
 | 
				
			||||||
 | 
					        fcitx5-nord
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,34 +11,41 @@ let
 | 
				
			||||||
  ] pkgs;
 | 
					  ] pkgs;
 | 
				
			||||||
  pcPkgs = lib.attrVals [
 | 
					  pcPkgs = lib.attrVals [
 | 
				
			||||||
    "activitywatch"
 | 
					    "activitywatch"
 | 
				
			||||||
 | 
					    "anki"
 | 
				
			||||||
 | 
					    "awatcher"
 | 
				
			||||||
    "dunst"
 | 
					    "dunst"
 | 
				
			||||||
 | 
					    "foliate"
 | 
				
			||||||
    "foot"
 | 
					    "foot"
 | 
				
			||||||
    "grim"
 | 
					    "grim"
 | 
				
			||||||
 | 
					    "hunspell"
 | 
				
			||||||
 | 
					    "hyprpaper"
 | 
				
			||||||
    "imv"
 | 
					    "imv"
 | 
				
			||||||
    "isync"
 | 
					    "isync"
 | 
				
			||||||
    "kitty"
 | 
					    "kitty"
 | 
				
			||||||
    "hunspell"
 | 
					    "lazygit"
 | 
				
			||||||
    "hyprpaper"
 | 
					 | 
				
			||||||
    "libreoffice"
 | 
					    "libreoffice"
 | 
				
			||||||
    "librewolf"
 | 
					    "librewolf"
 | 
				
			||||||
    "lynx"
 | 
					    "lynx"
 | 
				
			||||||
    "mpv"
 | 
					    "mpv"
 | 
				
			||||||
    "msmtp"
 | 
					    "msmtp"
 | 
				
			||||||
    "mupdf"
 | 
					 | 
				
			||||||
    "neomutt"
 | 
					    "neomutt"
 | 
				
			||||||
    "networkmanagerapplet"
 | 
					    "networkmanagerapplet"
 | 
				
			||||||
    "nheko"
 | 
					    "nheko"
 | 
				
			||||||
    "notmuch"
 | 
					    "notmuch"
 | 
				
			||||||
    "okular"
 | 
					    "okular"
 | 
				
			||||||
    "pavucontrol"
 | 
					    "osu-lazer"
 | 
				
			||||||
    "pass"
 | 
					    "pass"
 | 
				
			||||||
 | 
					    "pavucontrol"
 | 
				
			||||||
    "playerctl"
 | 
					    "playerctl"
 | 
				
			||||||
    "prismlauncher"
 | 
					    "prismlauncher"
 | 
				
			||||||
    "qt5ct"
 | 
					    "pstree"
 | 
				
			||||||
 | 
					    "qbittorrent"
 | 
				
			||||||
    "qt6ct"
 | 
					    "qt6ct"
 | 
				
			||||||
    "slurp"
 | 
					    "slurp"
 | 
				
			||||||
    "swaylock-effects"
 | 
					    "swaylock-effects"
 | 
				
			||||||
 | 
					    "tofi"
 | 
				
			||||||
    "wofi"
 | 
					    "wofi"
 | 
				
			||||||
 | 
					    "zathura"
 | 
				
			||||||
  ] pkgs ++ [ pkgs.hunspellDicts.en_US ];
 | 
					  ] pkgs ++ [ pkgs.hunspellDicts.en_US ];
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -54,8 +61,8 @@ in
 | 
				
			||||||
      #steamvr?
 | 
					      #steamvr?
 | 
				
			||||||
      procps
 | 
					      procps
 | 
				
			||||||
      usbutils
 | 
					      usbutils
 | 
				
			||||||
 | 
					      yt-dlp
 | 
				
			||||||
      (python311.withPackages (lib.attrVals [ "matplotlib" "python-lsp-server" "sympy"]))
 | 
					      (python311.withPackages (lib.attrVals [ "matplotlib" "python-lsp-server" "sympy"]))
 | 
				
			||||||
      (octaveFull.withPackages (lib.attrVals ["symbolic"]))
 | 
					 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
    ++ (lib.optionals (nixosConfig.stitchyconf.form == "handheld") handheldPkgs)
 | 
					    ++ (lib.optionals (nixosConfig.stitchyconf.form == "handheld") handheldPkgs)
 | 
				
			||||||
    ++ (lib.optionals (nixosConfig.stitchyconf.form == "pc") pcPkgs);
 | 
					    ++ (lib.optionals (nixosConfig.stitchyconf.form == "pc") pcPkgs);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue