Compare commits

...

4 commits

Author SHA1 Message Date
c4e46d0a28
flake update 2024-11-03 12:30:59 +00:00
d73ecb1bdb
Major NVIM refactor (ty fire :3) 2024-11-03 12:30:54 +00:00
e1aa67dbb2
I really should commit more 2024-11-03 12:30:42 +00:00
3aeda379d5
Move Nix Store 2024-11-03 12:28:46 +00:00
14 changed files with 373 additions and 272 deletions

View file

@ -70,6 +70,9 @@
(defwidget power []
(box :class "power" :valign "end" "⏻"))
(defwidget tray []
(systray :orientation "v" :icon-size 20))
(defwidget bar []
(centerbox :orientation "vertical"
:halign "center"
@ -81,6 +84,7 @@
(mic)
(volume)
(battery)
(tray)
(power))))

View file

@ -88,6 +88,7 @@ dwindle {
misc {
layers_hog_keyboard_focus=true
middle_click_paste=true
vfr=1
vrr=on
disable_hyprland_logo=true

View file

@ -1,155 +1,28 @@
" (Neo)vim Configuration
" By Flying_Stitchman
" 4 Jan 2022
" (Neo)vim Configuration
" By Flying_Stitchman 4 Jan 2022
" Basic Configuration
syntax on
set spell
set hlsearch
set ignorecase
set number relativenumber
set noswapfile
" Move this to the keymap file at some point later
inoremap jk <ESC>
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 "
set tabstop=2
set shiftwidth=2
set expandtab
" Make Lines Wrap Properly
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
" nvim builtin option config
luafile /etc/nixos/config/nvim/lua/options.lua
" nvim keymapping
luafile /etc/nixos/config/nvim/lua/keymap.lua
" Main Config stuffs
luafile /etc/nixos/config/nvim/nvim.lua

View 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
View 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 })

View file

@ -7,7 +7,6 @@ unsetopt autocd beep notify
unsetopt PROMPT_SP
bindkey -v
# End of lines configured by zsh-newuser-install
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$HOME/.local/share"
@ -18,6 +17,10 @@ alias kon="ncmpcpp -b ~/.config/ncmpcpp/bindings"
alias myip="curl ifconfig.me"
alias ghidra="_JAVA_AWT_WM_NONREPARENTING=1 ghidra"
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 mountUSB="mount /home/flyingstitchman/ExternalDrive" # Automagically mount and unmount my flashdrive
alias umountUSB="umount /home/flyingstitchman/ExternalDrive"
@ -30,6 +33,16 @@ alias imv="imv -b aa77bb"
alias find="fd"
alias tree="eza --tree"
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
@ -37,6 +50,19 @@ zshcache_time="$(date +%s%N)"
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() {
if [[ -a /var/cache/zsh/pacman ]]; then
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 PATH="${PATH}:/home/flyingstitchman/.cargo/bin"
# Ibus
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
# Fcitx for Xwayland
XMODIFIERS=@im=fcitx
# Clean Up

View file

@ -1,36 +1,5 @@
{
"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": {
"inputs": {
"nixpkgs": [
@ -38,11 +7,11 @@
]
},
"locked": {
"lastModified": 1713547570,
"narHash": "sha256-i8tNz47Lfsq5QWFLyE3rIm0gs2UUvXXAxfWTC24e370=",
"lastModified": 1730450782,
"narHash": "sha256-0AfApF8aexgB6o34qqLW2cCX4LaWJajBVdU6ddiWZBM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "7c61e400a99f33cdff3118c1e4032bcb049e1a30",
"rev": "8ca921e5a806b5b6171add542defe7bdac79d189",
"type": "github"
},
"original": {
@ -55,11 +24,11 @@
"mobile-nixos": {
"flake": false,
"locked": {
"lastModified": 1713034591,
"narHash": "sha256-zEtSq4e1hsf5nPoTzsx+cvHTusQxFdyDpD3mOa360A0=",
"lastModified": 1730307383,
"narHash": "sha256-EJYo2VPXVMGQbY+bI4Xav14fXXioBt3KICtXNI6i76o=",
"owner": "nixos",
"repo": "mobile-nixos",
"rev": "5455e4455b231218f6198b39383a0ad4c1d6638e",
"rev": "0516be85630befa2c1e8042ac873342ce186b2f6",
"type": "github"
},
"original": {
@ -70,11 +39,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1713521961,
"narHash": "sha256-EwR8wW9AqJhSIY+0oxWRybUZ32BVKuZ9bjlRh8SJvQ8=",
"lastModified": 1730368399,
"narHash": "sha256-F8vJtG389i9fp3k2/UDYHMed3PLCJYfxCqwiVP7b9ig=",
"owner": "Nixos",
"repo": "nixos-hardware",
"rev": "5d48925b815fd202781bfae8fb6f45c07112fdb2",
"rev": "da14839ac5f38ee6adbdb4e6db09b5eef6d6ccdc",
"type": "github"
},
"original": {
@ -86,62 +55,43 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1713297878,
"narHash": "sha256-hOkzkhLT59wR8VaMbh1ESjtZLbGi+XNaBN6h49SPqEc=",
"owner": "NixOS",
"lastModified": 1730200266,
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
"owner": "Nixos",
"repo": "nixpkgs",
"rev": "66adc1e47f8784803f2deb6cacd5e07264ec2d5c",
"rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd",
"type": "github"
},
"original": {
"owner": "NixOS",
"owner": "Nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs-quartus": {
"locked": {
"lastModified": 1628148846,
"narHash": "sha256-V8aZJBROfNDk40cvFjKUnOnL7sF+BYwCQUUpLP8y4uE=",
"owner": "NixOS",
"lastModified": 1685573264,
"narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9a8eb5a464f373e79d19d0ed2e53e0d31f78fe92",
"rev": "380be19fbd2d9079f677978361792cb25e8a3635",
"type": "github"
},
"original": {
"owner": "NixOS",
"owner": "nixos",
"ref": "nixos-22.05",
"repo": "nixpkgs",
"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": {
"inputs": {
"home-manager": "home-manager",
"mobile-nixos": "mobile-nixos",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs",
"osu-nixos": "osu-nixos"
"nixpkgs-quartus": "nixpkgs-quartus"
}
}
},

View file

@ -6,8 +6,8 @@
nixpkgs,
nixpkgs-xr,
nixos-hardware,
nixpkgs-quartus,
home-manager,
osu-nixos,
...
} : {
@ -85,6 +85,6 @@
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-xr.url = "github:nix-community/nixpkgs-xr";
nixos-hardware.url = "github:Nixos/nixos-hardware/master";
osu-nixos.url = "github:Asqiir/osu-nixos";
nixpkgs-quartus.url = "github:nixos/nixpkgs/nixos-22.05";
};
}

View file

@ -66,6 +66,24 @@ in
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";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
};

View file

@ -35,8 +35,11 @@
"kernel.yama.ptrace_scope=0"
];
virtualisation.docker.enable = true;
virtualisation.libvirtd.enable = true;
virtualisation = {
docker.enable = true;
libvirtd.enable = true;
waydroid.enable = true;
};
hardware.bluetooth.enable = true;
hardware.bluetooth.settings.General.Experimental = true;
hardware.graphics = {

View file

@ -10,17 +10,23 @@
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/d626409d-8166-45c2-a168-09dfab31b8a4";
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/d626409d-8166-45c2-a168-09dfab31b8a4";
fsType = "btrfs";
options = [ "subvol=@nix-root" ];
options = [ "compress=zstd" "subvol=@nix-root" ];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/d626409d-8166-45c2-a168-09dfab31b8a4";
"/home" = {
device = "/dev/disk/by-uuid/d626409d-8166-45c2-a168-09dfab31b8a4";
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";

View file

@ -15,33 +15,40 @@ let
"megapixels"
] pkgs;
pcPkgs = lib.attrVals [
#osu-lazer
"dracula-theme"
"wl-clipboard"
"brightnessctl"
"clipman"
"powertop"
"easyeffects"
"mutt-wizard"
"gamescope"
"cyrus-sasl-xoauth2"
"dracula-theme"
"easyeffects"
"gamescope"
"libnotify"
"networkmanager-openvpn"
"mutt-wizard"
"powertop"
"wl-clipboard"
# temporary home manager things
"eww"
"ifuse"
"img2pdf"
"inotify-tools"
"eww"
"jq"
"pandoc"
#"texliveFull"
"typst"
"socat"
"libimobiledevice"
"ifuse"
] pkgs ++ [ inputs.osu-nixos pkgs.wineWowPackages.stableFull ];
"socat"
"typst"
] pkgs ++ [ pkgs.wineWowPackages.stableFull ];
serverPkgs = lib.attrVals [
#"package"
] pkgs;
spaceman-nvim = pkgs.vimUtils.buildVimPlugin {
name = "spaceman-nvim";
src = pkgs.fetchFromGitHub {
owner = "FireIsGood";
repo = "spaceman.nvim";
rev = "7910d202073bcc5f567481426f771b3737451dd9";
hash = "sha256-VvKce2uiFzv0TjoJfEX461p9tY9aE237Xr1q/Lw3Utw=";
};
};
in
{
options = {
@ -64,11 +71,14 @@ in
"glib"
"gnumake"
"gnupg"
"neofetch"
"p7zip"
"pinentry"
"neofetch"
"typst-lsp"
"unzip"
"vhdl-ls"
"wget"
"zip"
"zoxide"
] pkgs)
++ (lib.optionals config.stitchyconf.artPkgs.enable artPkgs)
@ -87,14 +97,22 @@ in
customRC = builtins.readFile ../config/nvim/init.vim;
packages.myVimPackage = with pkgs.vimPlugins; {
start = [
nvim-lspconfig
nvim-cmp
bufferline-nvim
cmp-nvim-lsp
luasnip
cmp_luasnip
gitsigns-nvim
indent-blankline-nvim
lazy-nvim
luasnip
neo-tree-nvim
nvim-cmp
nvim-lspconfig
spaceman-nvim
telescope-nvim
tokyonight-nvim
vim-lsp-cxx-highlight
typst-vim
vim-lsp-cxx-highlight
which-key-nvim
];
};
};

View file

@ -8,10 +8,16 @@
"nvidia-settings"
"nvidia-x11"
"osu-lazer"
"quartus-prime-lite"
"quartus-prime-lite-unwrapped"
"steam"
"steam-original"
"steam-run"
"steam-unwrapped"
];
nixpkgs.config.permittedInsecurePackages = [
"olm-3.2.16"
];
hardware = {
opentabletdriver.enable = true;
@ -20,11 +26,12 @@
programs = {
firefox.enable = true;
hyprland.enable = true;
openvpn3.enable = true;
kdeconnect.enable = true;
steam = {
enable = true;
remotePlay.openFirewall = true;
};
wireshark.enable = true;
};
security.pam.services.swaylock = {};
@ -49,18 +56,22 @@
users.users.stitchynyan = {
description = "Personal user";
extraGroups = [ "audio" "dialout" "docker" "kvm" "libvirtd" "networkmanager" "wheel" ];
extraGroups = [ "audio" "dialout" "docker" "kvm" "libvirtd" "networkmanager" "wireshark" "wheel" ];
home = "/home/stitchynyan";
initialHashedPassword = "$y$j9T$rvySCWHYE4AO4A9J0Vf20.$x5hpBNsOWovQFtNfFUIt17OAH5MJFwFBGjxbaEIagJ3";
isNormalUser = true;
shell = pkgs.zsh;
};
i18n.inputMethod = {
enable = true;
type = "fcitx5";
fcitx5.addons = [
pkgs.fcitx5-mozc
];
i18n = {
defaultLocale = "ja_JP.UTF-8";
inputMethod = {
enable = true;
type = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-nord
];
};
};
}

View file

@ -11,34 +11,41 @@ let
] pkgs;
pcPkgs = lib.attrVals [
"activitywatch"
"anki"
"awatcher"
"dunst"
"foliate"
"foot"
"grim"
"hunspell"
"hyprpaper"
"imv"
"isync"
"kitty"
"hunspell"
"hyprpaper"
"lazygit"
"libreoffice"
"librewolf"
"lynx"
"mpv"
"msmtp"
"mupdf"
"neomutt"
"networkmanagerapplet"
"nheko"
"notmuch"
"okular"
"pavucontrol"
"osu-lazer"
"pass"
"pavucontrol"
"playerctl"
"prismlauncher"
"qt5ct"
"pstree"
"qbittorrent"
"qt6ct"
"slurp"
"swaylock-effects"
"tofi"
"wofi"
"zathura"
] pkgs ++ [ pkgs.hunspellDicts.en_US ];
in
{
@ -54,8 +61,8 @@ in
#steamvr?
procps
usbutils
yt-dlp
(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 == "pc") pcPkgs);