diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..36f34b8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +temp/ +result +*.png +*.jpg +*.bak diff --git a/Readme.md b/Readme.md index ceac8c2..8ce20b8 100644 --- a/Readme.md +++ b/Readme.md @@ -1,6 +1,6 @@ ### Dotfiles for Me - Migrating to Nix -Heavy wip, not ready for use. +Heavy wip, not ready for use. Will eventually manage my servers and computers. diff --git a/config/dunst/scripts/volumeNotify.sh b/config/dunst/scripts/volumeNotify.sh index 5145125..6cc9b0d 100755 --- a/config/dunst/scripts/volumeNotify.sh +++ b/config/dunst/scripts/volumeNotify.sh @@ -11,10 +11,10 @@ if [[ "$mute" == "" ]]; then # Change the volume $(wpctl set-volume @DEFAULT_AUDIO_SINK@ $@) - # Query Pipewire and Parse Volume as an Int + # Query Pipewire and Parse Volume as an Int volume="$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | awk '{print $2}')" vol=${volume//.} - + # Send the notification $(dunstify -h int:value:"$vol" Volume: $vol -h string:x-dunst-stack-tag:volume) $(echo $vol > ${XDG_CACHE_HOME:-~/.cache}/eww/vol) diff --git a/config/eww/eww.scss b/config/eww/eww.scss index f528699..ea1c6fd 100644 --- a/config/eww/eww.scss +++ b/config/eww/eww.scss @@ -19,12 +19,12 @@ border-style: solid; border-color: #cac; margin: 2px; - + &.empty { } - &.occupied{ + &.occupied{ } &.current { @@ -45,6 +45,9 @@ border-radius: 15px; } +.cal { + padding: 5px; +} .clock { background-color: #536; diff --git a/config/eww/eww.yuck b/config/eww/eww.yuck index 59dfbc4..d204b71 100644 --- a/config/eww/eww.yuck +++ b/config/eww/eww.yuck @@ -1,13 +1,11 @@ -;;;; (defpoll time :interval "1s" 'date +%s') +;; VARIABLE DEFINITIONS -(defwidget clock [] - (box :orientation "vertical" - :halign "center" - :valign "end" - (box :class "clock" {formattime(EWW_TIME, "%H")}) - (box :class "clock" {formattime(EWW_TIME, "%M")}) - )) +;; Audio +(deflisten vol "cat ~/.cache/eww/vol && inotifywait -q -m -e close_write ~/.cache/eww/vol | while read -r filename event; do cat ~/.cache/eww/vol; done") +(defpoll micvol :interval "1m" "wpctl get-volume @DEFAULT_AUDIO_SOURCE@ | awk '{print $2}'") + +;; Workspace Stuff (deflisten workspaces :initial "[]" "bash ~/.config/eww/scripts/get-workspaces") (deflisten current_workspace :initial "..." "bash ~/.config/eww/scripts/get-active-workspace") (deflisten urgent_workspace :initial "..." "bash ~/.config/eww/scripts/get-urgent-workspaces") @@ -21,13 +19,28 @@ (label :text "${workspace.id}") )))))) +;; Screen +(deflisten backlight "brightnessctl g && inotifywait -q -m -e modify /sys/class/backlight/intel_backlight/actual_brightness | while read -r filename event; do cat /sys/class/backlight/intel_backlight/actual_brightness; done") -(defwidget circle [val prog sty char] + +;; Widgets + +(defwidget clock [] + (eventbox + :onhover "eww open cal" + (box :orientation "vertical" + :halign "center" + :valign "end" + (box :class "clock" {formattime(EWW_TIME, "%H")}) + (box :class "clock" {formattime(EWW_TIME, "%M")}) + ))) + +(defwidget circle [val prog sty char] (box :halign "center" :orientation "vertical" :valign "end" - (circular-progress :value prog - :start-at 10 + (circular-progress :value prog + :start-at 10 :clockwise false :thickness 3 :width 30 @@ -38,34 +51,36 @@ (box :class "circle" :style sty char))) (defwidget battery [] - (circle :prog {EWW_BATTERY.BAT1.capacity * (77778 /100000)} + (circle :prog {EWW_BATTERY.BAT1.capacity * (77778 /100000)} :sty "color: ${EWW_BATTERY.BAT1.status == 'Charging' ? '#1a1': EWW_BATTERY.BAT1.capacity < 20 ? '#a11': '#cac'};" :val {EWW_BATTERY.BAT1.capacity} :char "󱐋")) -(deflisten vol "cat ~/.cache/eww/vol && inotifywait -q -m -e close_write ~/.cache/eww/vol | while read -r filename event; do cat ~/.cache/eww/vol; done") - -(defwidget volume [] - (circle :prog {vol * 7/10} - :sty "font-size: 12; margin-right: 2px;" - :val {vol + 1 - 1} - :char "")) - -(defpoll micvol :interval "1m" "wpctl get-volume @DEFAULT_AUDIO_SOURCE@ | awk '{print $2}'") +(defwidget volume [] + (eventbox + :onclick "hyprctl dispatch exec 'pavucontrol -t 3'" + :onscroll "if [ {} == 'up' ]; then /etc/nixos/config/dunst/scripts/volumeNotify.sh 1%+; else /etc/nixos/config/dunst/scripts/volumeNotify.sh 1%-; fi" + (circle :prog {vol * 7/10} + :sty "font-size: 12; margin-right: 2px;" + :val {vol + 1 - 1} + :char ""))) (defwidget mic [] - (circle :prog {micvol * 70} - :sty "margin-left: 1px;" - :val {micvol *100} - :char "󰍬")) - -(deflisten backlight "brightnessctl g && inotifywait -q -m -e modify /sys/class/backlight/intel_backlight/actual_brightness | while read -r filename event; do cat /sys/class/backlight/intel_backlight/actual_brightness; done") + (eventbox + :onclick "hyprctl dispatch exec 'pavucontrol -t 4'" + :onscroll "if [ {} == 'up' ]; then wpctl set-volume -l 1 @DEFAULT_SOURCE@ 1%+; else wpctl set-volume @DEFAULT_SOURCE@ 1%-; fi" + (circle :prog {micvol * 70} + :sty "margin-left: 1px;" + :val {micvol *100} + :char "󰍬"))) (defwidget brightness [] - (circle :prog {(backlight / 960) * 7/10} - :sty "font-size: 12; margin-right: 3px;" - :val {round( backlight / 960, 0) - 1} - :char "󰃠")) + (eventbox + :onscroll "if [ {} == 'up' ]; then brightnessctl -d intel_backlight set 1%+; else brightnessctl -d intel_backlight set 1%-; fi" + (circle :prog {(backlight / 960) * 7/10} + :sty "font-size: 12; margin-right: 3px;" + :val {round( backlight / 960, 0) - 1} + :char "󰃠"))) (defwidget power [] (box :class "power" :valign "end" "⏻")) @@ -73,28 +88,51 @@ (defwidget tray [] (systray :orientation "v" :icon-size 20)) + +;; Upper Level Widgets + + (defwidget bar [] (centerbox :orientation "vertical" - :halign "center" - :space-evenly false - (_workspaces) - (clock) - (box :orientation "vertical" :spacing -25 :valign "end" - (brightness) - (mic) - (volume) - (battery) - (tray) - (power)))) + :halign "center" + :space-evenly false + (_workspaces) + (clock) + (box :orientation "vertical" :spacing -25 :valign "end" + (brightness) + (mic) + (volume) + (battery) + (tray) + (power)))) +(defwidget cal [] + (box + :class "cal" + (eventbox + :onhoverlost "eww close cal" + (calendar)))) + + +;; Windows (defwindow bar - :monitor 0 - :geometry (geometry :x "4px" - :y "1%" - :height "98%" - :anchor "left center") - :stacking "fg" - :exclusive true - :class "bar" + :monitor 0 + :geometry (geometry :x "4px" + :y "1%" + :height "98%" + :anchor "left center") + :stacking "fg" + :exclusive true + :class "bar" (bar)) + +(defwindow cal + :monitor 0 + :geometry (geometry :x "1%" + :y "5%" + :anchor "left center") + :stacking "fg" + :exclusive false + :class "bar" + (cal)) diff --git a/config/hypr/binds.conf b/config/hypr/binds.conf index 742efaf..9195640 100644 --- a/config/hypr/binds.conf +++ b/config/hypr/binds.conf @@ -1,32 +1,39 @@ # Binding Config File for Hyprland # Main Bindings -# -# Foot, you done goofed -bind=ALT,RETURN,exec,foot -#bind=ALT,RETURN,exec,kitty -bind=ALT,Q,killactive, -bind=SUPER,M,exec,hyprctl dispatch exit 0 +# Programs +bind=ALT,B,exec,swaylock bind=ALT,E,exec,dolphin +bind=ALT,F,exec,${XDG_CONFIG_HOME:-~/.config}/hypr/plumbing.sh +bind=ALT,G,exec,${XDG_CONFIG_HOME:-~/.config}/hypr/plumbing.sh clip +bind=ALT,RETURN,exec,footclient +bindr=ALTSHIFT,RETURN,exec,pkill wofi || wofi -S drun --allow-images + + +# Basic Actions +bind=ALT,Q,killactive, bind=ALT,V,togglefloating, -bindr=ALTSHIFT,RETURN,exec,pkill wofi || wofi -S drun --allow-images bind=ALTSHIFT,F,fullscreen,1 bind=ALTSHIFT,M,fullscreen,0 -bind=,Print,exec,grim -g "$(slurp)" -t jpeg - | wl-copy -bind=SHIFT,Print,exec,grim -g "$(slurp)" -t jpeg Downloads/screenshot.jpeg +bind=SUPER,M,exec,hyprctl dispatch exit 0 + +# Screenshots +bind=,Print,exec,slurp | grim -t jpeg -g - - | wl-copy +bind=SHIFT,Print,exec,slurp | grim -t jpeg -g - Downloads/screenshot.jpeg +bind=SHIFTSUPER,Print,exec,hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | grim -t jpeg -g - - | wl-copy +bind=SUPER,Print,exec,hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | grim -g - Downloads/screenshot.jpeg # trigger when the switch is toggled bindl=,switch:Lid Switch,exec,swaylock --effect-greyscale - # Games -bind=ALTSHIFT,T,exec,gamescope -w 1280 -h 960 -f -r 60 wine "/home/flyingstitchman/Documents/Games/Touhou 15 - Legacy of Lunatic Kingdom/th15.exe" -bind=ALTSHIFT,O,exec,osu-lazer bind=ALTSHIFT,C,exec,"/home/flyingstitchman/Documents/Games/Celeste/Celeste" -bind=ALTSHIFT,S,exec,"/home/flyingstitchman/Documents/Games/Stardew Valley/StardewValley" +bind=ALTSHIFT,O,exec,osu-lazer bind=ALTSHIFT,R,exec,"/home/flyingstitchman/Documents/Games/factorio/bin/x64/factorio" +bind=ALTSHIFT,S,exec,"/home/flyingstitchman/Documents/Games/Stardew Valley/StardewValley" +bind=ALTSHIFT,T,exec,gamescope -w 1280 -h 960 -f -r 60 wine "/home/flyingstitchman/Documents/Games/Touhou 15 - Legacy of Lunatic Kingdom/th15.exe" # Window Moving @@ -35,7 +42,7 @@ bindm=SUPER,mouse:273,resizewindow # Quick Bindings bindle=,XF86MonBrightnessDown,exec,brightnessctl -d intel_backlight set 1%- -bindle=,XF86MonBrightnessUp,exec,brightnessctl -d intel_backlight set +1% +bindle=,XF86MonBrightnessUp,exec,brightnessctl -d intel_backlight set +1% bindle=,XF86AudioRaiseVolume,exec,${XDG_CONFIG_HOME:-~/.config}/dunst/scripts/volumeNotify.sh 1%+ bindle=,XF86AudioLowerVolume,exec,${XDG_CONFIG_HOME:-~/.config}/dunst/scripts/volumeNotify.sh 1%- diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index c1da5a1..33459c4 100755 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -26,7 +26,7 @@ input { sensitivity=.4 accel_profile=adaptive - touchpad { + touchpad { natural_scroll=false disable_while_typing=false } @@ -58,11 +58,11 @@ decoration { shadow_range=15 shadow_render_power=2 shadow_ignore_window=1 - col.shadow=0xdb331153 + col.shadow=0xdb331153 col.shadow_inactive=0x99333333 shadow_offset=3 2 - - # Other + + # Other rounding=15 inactive_opacity=.8 fullscreen_opacity=1 multiplier @@ -70,7 +70,7 @@ decoration { animations { enabled=true - + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 7, myBezier @@ -78,7 +78,7 @@ animations { animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default - animation = workspaces, 1, 6, default + animation = workspaces, 1, 6, default } dwindle { diff --git a/config/hypr/windowrules.conf b/config/hypr/windowrules.conf index cbefe83..ee7fa91 100644 --- a/config/hypr/windowrules.conf +++ b/config/hypr/windowrules.conf @@ -1,10 +1,13 @@ # Window Rule Config File -# WLogout Configuration -# Might move to separate file cause screen resolutions whack +# Application Fixes +# Foot Fullscreen Transparency Fix +windowrulev2 = syncfullscreen 0, class:(foot), title:(foot) windowrule=nofocus,ibus,^(Ibus-ui-gtk3)$ +# WLogout Configuration +# Might move to separate file cause screen resolutions whack windowrule=move 720 222,wlogout windowrule=size 2000 1000,wlogout windowrule=tile,xyz diff --git a/config/nvim/lua/keymap.lua b/config/nvim/lua/keymap.lua index d397bdd..1a5f7ae 100644 --- a/config/nvim/lua/keymap.lua +++ b/config/nvim/lua/keymap.lua @@ -3,6 +3,7 @@ local map = vim.keymap.set -- jk exit from insert mode map("i", "jk", "noh", { silent = true }) +map({"n", "x"}, "", "noh", { silent = true }) ---- -- Movements @@ -17,13 +18,13 @@ map({ "n", "x" }, "", "6k") map({ "n", "x" }, "M", "J", { desc = "Merge" }) -- Replace the join command map("n", "gh", vim.lsp.buf.hover, { desc = "Hover" }) -- Code action hover - + -- Move to window using the hjkl keys map("n", "", "h", { desc = "Go to left window", remap = true }) map("n", "", "j", { desc = "Go to lower window", remap = true }) map("n", "", "k", { desc = "Go to upper window", remap = true }) map("n", "", "l", { desc = "Go to right window", remap = true }) - + -- Move between buffers map("n", "", "BufferLineCyclePrev", { desc = "Move buffer left", silent = true }) map("n", "", "BufferLineCycleNext", { desc = "Move buffer right", silent = true }) @@ -33,6 +34,8 @@ map("n", ">", "BufferLineMoveNext", { desc = "Move buffer right -- ToggleTerm Bindings map("n", "a", "ToggleTerm name=main", { desc = "Floating Terminal", silent = true }) +-- Undotree +map('n', 'fu', vim.cmd.UndotreeToggle) ---- -- Cool Macros ---- @@ -50,6 +53,72 @@ map("n", "e", function() require("neo-tree.command").execute({ action = "show", position = "right", toggle = true, dir = vim.loop.cwd() }) end, { desc = "Open Neotree", remap = true }) + +-- Conform Formatting +map({ "n", "v" }, "mp", function() + require("conform").format({ + lsp_fallback = true, + async = false, + timeout_ms = 500, + }) +end, { desc = "Format file or range (in visual mode)" }) + +-- diagnostic +---@param next "f"|"b" +---@param severity "ERROR"|"WARN"? +local diagnostic_goto = function(next, severity) + local go = (next == "f") and vim.diagnostic.goto_next or vim.diagnostic.goto_prev + local severity_index = severity and vim.diagnostic.severity[severity] or nil + return function() + go({ severity = severity_index }) + end +end +map("n", "cd", vim.diagnostic.open_float, { desc = "Line Diagnostics" }) +map("n", "]d", diagnostic_goto("f"), { desc = "Next Diagnostic" }) +map("n", "[d", diagnostic_goto("b"), { desc = "Prev Diagnostic" }) +map("n", "]e", diagnostic_goto("f", "ERROR"), { desc = "Next Error" }) +map("n", "[e", diagnostic_goto("b", "ERROR"), { desc = "Prev Error" }) +map("n", "]w", diagnostic_goto("f", "WARN"), { desc = "Next Warning" }) +map("n", "[w", diagnostic_goto("b", "WARN"), { desc = "Prev Warning" }) + +---- +-- Plugins +---- + +-- Telescope (fuzzy finder) +local function telescope_git_fallback() + vim.fn.system("git rev-parse --is-inside-work-tree") + local is_git_repo = vim.v.shell_error == 0 + + if is_git_repo then + require("telescope.builtin").git_files() + else + require("telescope.builtin").find_files() + end +end +local function telescope_files() + require("telescope.builtin").find_files({ cwd = vim.uv.cwd() }) +end +local function telescope_oldfiles() + require("telescope.builtin").oldfiles({ cwd = vim.uv.cwd() }) +end +local function telescope_live_grep() + vim.fn.system("git rev-parse --is-inside-work-tree") + local is_git_repo = vim.v.shell_error == 0 + local git_root = vim.fn.fnamemodify(vim.fn.finddir(".git", ".;"), ":h") + + require("telescope.builtin").live_grep({ + cwd = is_git_repo and git_root or vim.uv.cwd(), + }) +end +map("n", "", telescope_git_fallback, { desc = "Find files (git/fallback, cwd)" }) +map("n", "ff", telescope_files, { desc = "Find files (cwd)" }) +map("n", "fo", telescope_oldfiles, { desc = "Find files (cwd)" }) +map("n", "/", telescope_live_grep, { desc = "Live grep (cwd)" }) +map("n", ",", require("telescope.builtin").buffers, { desc = "Find buffers" }) +map("n", "\"", require("telescope.builtin").registers, { desc = "Find registers" }) + + ---- -- Fixes ---- @@ -80,3 +149,5 @@ map("t", "", "wincmd k", { desc = "Go to upper window" }) map("t", "", "wincmd l", { desc = "Go to right window" }) map("t", "", "close", { desc = "Hide Terminal" }) map("t", "", "close", { desc = "which_key_ignore" }) + + diff --git a/config/nvim/nvim.lua b/config/nvim/nvim.lua index 1cccdac..41b7d88 100644 --- a/config/nvim/nvim.lua +++ b/config/nvim/nvim.lua @@ -6,18 +6,18 @@ require'lspconfig'.texlab.setup{} require'lspconfig'.svls.setup{} require'lspconfig'.pylsp.setup{ settings = { + formatCommand = {"black"}, pylsp = { plugins = { - pycodestyle = { - ignore = {'W391'}, - maxLineLength = 100 + jedai_completion = { + fuzzy = true }, - pylint = { - enabled = false - }, - pyflakes = { - enabled = true - } + pyflakes = { + enabled = true + }, + pylsp_mypy = { + enabled = true + } } } } @@ -105,6 +105,15 @@ cmp.setup { package.path = package.path .. ";/etc/nixos/config/nvim" -- Funky plugins +require("conform").setup({ + formatters_by_ft = { + python = { "isort", "black" }, + }, + format_on_save = { + timeout_ms = 500, + lsp_format = "fallback", + }, +}) require("bufferline").setup({ options = { always_show_bufferline = true, show_buffer_close_icons = false, diff --git a/config/swaylock/config b/config/swaylock/config index 2016e3e..113fb7b 100644 --- a/config/swaylock/config +++ b/config/swaylock/config @@ -12,4 +12,4 @@ inside-color 00000088 separator-color 00000000 fade-in=0.2 datestr="%a, %b %e %Y" -greyscale +greyscale diff --git a/config/zshrc b/config/zshrc index 47489dc..0595102 100755 --- a/config/zshrc +++ b/config/zshrc @@ -102,7 +102,7 @@ compinit # End of lines added by compinstall eval "$(zoxide init zsh)" - + # Default Programs export EDITOR=nvim diff --git a/flake.lock b/flake.lock index a3611e4..fa59f1c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,40 @@ { "nodes": { + "flake-compat": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nixpkgs-xr", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -7,11 +42,11 @@ ] }, "locked": { - "lastModified": 1730450782, - "narHash": "sha256-0AfApF8aexgB6o34qqLW2cCX4LaWJajBVdU6ddiWZBM=", + "lastModified": 1730837930, + "narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=", "owner": "nix-community", "repo": "home-manager", - "rev": "8ca921e5a806b5b6171add542defe7bdac79d189", + "rev": "2f607e07f3ac7e53541120536708e824acccfaa8", "type": "github" }, "original": { @@ -24,11 +59,11 @@ "mobile-nixos": { "flake": false, "locked": { - "lastModified": 1730307383, - "narHash": "sha256-EJYo2VPXVMGQbY+bI4Xav14fXXioBt3KICtXNI6i76o=", + "lastModified": 1730912712, + "narHash": "sha256-T5A9I6Tfh9zrv9sRWfu/ZKN6VkE670YQ6bjC5sbpTzk=", "owner": "nixos", "repo": "mobile-nixos", - "rev": "0516be85630befa2c1e8042ac873342ce186b2f6", + "rev": "2268e358ed407d9c0a4499ae767d105eeaeec586", "type": "github" }, "original": { @@ -39,11 +74,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1730368399, - "narHash": "sha256-F8vJtG389i9fp3k2/UDYHMed3PLCJYfxCqwiVP7b9ig=", + "lastModified": 1730919458, + "narHash": "sha256-yMO0T0QJlmT/x4HEyvrCyigGrdYfIXX3e5gWqB64wLg=", "owner": "Nixos", "repo": "nixos-hardware", - "rev": "da14839ac5f38ee6adbdb4e6db09b5eef6d6ccdc", + "rev": "e1cc1f6483393634aee94514186d21a4871e78d7", "type": "github" }, "original": { @@ -55,15 +90,15 @@ }, "nixpkgs": { "locked": { - "lastModified": 1730200266, - "narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", - "owner": "Nixos", + "lastModified": 1730785428, + "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd", + "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", "type": "github" }, "original": { - "owner": "Nixos", + "owner": "NixOS", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -85,13 +120,50 @@ "type": "github" } }, + "nixpkgs-xr": { + "inputs": { + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1730942067, + "narHash": "sha256-F+MvnvRlRcL8BktdqOK6LRoVhyFX/jzWfcm0mPbJNeY=", + "owner": "nix-community", + "repo": "nixpkgs-xr", + "rev": "87d61362cb82ed15d54dd56b24944f3404646c72", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs-xr", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1730785428, + "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", "mobile-nixos": "mobile-nixos", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", - "nixpkgs-quartus": "nixpkgs-quartus" + "nixpkgs-quartus": "nixpkgs-quartus", + "nixpkgs-xr": "nixpkgs-xr" } } }, diff --git a/flake.nix b/flake.nix index b83de7c..310483f 100644 --- a/flake.nix +++ b/flake.nix @@ -1,8 +1,6 @@ { description = "System Configuration Flake"; - - - outputs = inputs@{ + outputs = inputs@{ nixpkgs, nixpkgs-xr, nixos-hardware, diff --git a/hosts/lappy/default.nix b/hosts/lappy/default.nix index 4143226..4c49ef7 100644 --- a/hosts/lappy/default.nix +++ b/hosts/lappy/default.nix @@ -15,8 +15,8 @@ services.logind.powerKey = "ignore"; services.logind.powerKeyLongPress = "poweroff"; networking = { - hostName = "lappy"; - networkmanager.enable = true; + hostName = "lappy"; + networkmanager.enable = true; }; time.timeZone = "America/Lost_Angeles"; diff --git a/hosts/malachite/default.nix b/hosts/malachite/default.nix index 8e7052e..020f10f 100644 --- a/hosts/malachite/default.nix +++ b/hosts/malachite/default.nix @@ -1,6 +1,6 @@ { config, nixpkgs-xr, pkgs, lib, ... }: let - passthrough = pkgs.writeShellApplication { + passthrough = pkgs.writeShellApplication { name = "passthrough.sh"; runtimeInputs = lib.attrVals [ "coreutils" "kmod" "libvirt" "procps" ] pkgs; text = '' @@ -116,7 +116,7 @@ in { environment.systemPackages = [ pkgs.wlx-overlay-s ]; - + networking.hostName = "malachite"; time.timeZone = "America/Los_Angeles"; diff --git a/hosts/malachite/hardware-configuration.nix b/hosts/malachite/hardware-configuration.nix index c95853a..b9202b5 100644 --- a/hosts/malachite/hardware-configuration.nix +++ b/hosts/malachite/hardware-configuration.nix @@ -87,7 +87,7 @@ XRT_COMPOSITOR_COMPUTE = "1"; }; - hardware = { + hardware = { graphics = { enable = true; enable32Bit = true; diff --git a/packages/default.nix b/packages/default.nix index 18d8eed..74bd04d 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -64,13 +64,17 @@ in config = { environment.systemPackages = (lib.attrVals [ + "black" "btop" + "ccls" "eza" "fd" + "fzf" "git" "glib" "gnumake" "gnupg" + "mypy" "neofetch" "p7zip" "pinentry" @@ -97,6 +101,7 @@ in customRC = builtins.readFile ../config/nvim/init.vim; packages.myVimPackage = with pkgs.vimPlugins; { start = [ + conform-nvim bufferline-nvim cmp-nvim-lsp cmp_luasnip @@ -113,6 +118,7 @@ in toggleterm-nvim tokyonight-nvim typst-vim + undotree vim-lsp-cxx-highlight which-key-nvim ]; diff --git a/users/stitchynyan/home.nix b/users/stitchynyan/home.nix index 721a06d..b30008d 100644 --- a/users/stitchynyan/home.nix +++ b/users/stitchynyan/home.nix @@ -60,9 +60,10 @@ in kicad #steamvr? procps + ripgrep usbutils yt-dlp - (python311.withPackages (lib.attrVals [ "matplotlib" "python-lsp-server" "sympy"])) + (python3.withPackages (lib.attrVals [ "matplotlib" "pyflakes" "python-lsp-server" "sympy"])) ] ++ (lib.optionals (nixosConfig.stitchyconf.form == "handheld") handheldPkgs) ++ (lib.optionals (nixosConfig.stitchyconf.form == "pc") pcPkgs);