diff --git a/.DS_Store b/.DS_Store index 29b3caf69..25ded5a18 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.config/nvim/fnl/core.fnl b/.config/nvim/fnl/core.fnl index 5d5819c2c..acaa78ef3 100755 --- a/.config/nvim/fnl/core.fnl +++ b/.config/nvim/fnl/core.fnl @@ -5,7 +5,7 @@ fennel aniseed.fennel} require-macros [macros zest.macros]}) -(let [(res err) (pcall #(require :packer_compiled))] #(do nil)) +; (let [(res err) (pcall #(require :packer_compiled))] #(do nil)) ; (if err)) ; (vim.notify (string.format "Failure loading packer_compiled %s" (tostring err)) vim.log.levels.ERROR))) (opt-set mouse "a") diff --git a/.config/nvim/fnl/macros.fnl b/.config/nvim/fnl/macros.fnl index ac9de588e..ccdedd193 100755 --- a/.config/nvim/fnl/macros.fnl +++ b/.config/nvim/fnl/macros.fnl @@ -31,16 +31,12 @@ (table.insert use-statements block))) (let [use-sym (gensym)] - `(let [packer# (require "packer")] - (packer#.startup {1 - (fn [,use-sym] - ,(unpack - (icollect [_# v# (ipairs use-statements)] - `(,use-sym ,v#)))) - :config {:compile_path (.. (vim.fn.stdpath "config") ,sep "lua" ,sep "packer_compiled.lua") - :display {:open_fn (fn [] (let [(b# win# buf#) ((. (require "packer.util") :float) {:border :rounded})] - (vim.api.nvim_win_set_option win# :winhighlight "PmenuThumb:Normal,FloatBorder:Normal,Normal:Normal,StatusLine:Normal") - (vim.api.nvim_buf_set_name buf# :Packer) - (values b# win# buf#)))}}})))))} + `(let [lazy# (require "lazy")] + (lazy#.setup {:spec + [,(unpack + (icollect [_# v# (ipairs use-statements)] + v#))] + })))))} + diff --git a/.config/nvim/fnl/plugins.fnl b/.config/nvim/fnl/plugins.fnl index 95b3361bf..caafcb212 100755 --- a/.config/nvim/fnl/plugins.fnl +++ b/.config/nvim/fnl/plugins.fnl @@ -14,9 +14,9 @@ :MunifTanjim/nui.nvim {:module :nui} ; Startup and typical operation - :Olical/aniseed {:branch :develop} + :Olical/aniseed {} :rktjmp/hotpot.nvim {} - :lewis6991/impatient.nvim {:require :sqlite.lua :config #(require "impatient")} +; :lewis6991/impatient.nvim {:require :sqlite.lua :config #(require "impatient")} :wbthomason/packer.nvim {} :kyazdani42/nvim-web-devicons {:config #(require :plugins.devicons)} @@ -32,16 +32,16 @@ {:cmd :Telescope :keys [: :] :module :telescope - :requires [:plenary.nvim :nvim-telescope/telescope-ui-select.nvim {1 :nvim-telescope/telescope-frecency.nvim :requires :sqlite.lua}] + :dependencies [:plenary.nvim :nvim-telescope/telescope-ui-select.nvim {1 :nvim-telescope/telescope-frecency.nvim :dependencies :sqlite.lua}] :config #(require :plugins.telescope)} :numToStr/Comment.nvim {:config #(require :plugins.comment)} - :lewis6991/gitsigns.nvim {:requires [:plenary.nvim] :config #(require :plugins.gitsigns)} ;:mod gitsigns} - :TimUntersberger/neogit {:cmd :Neogit :requires [:plenary.nvim] :config #(require :plugins.neogit)} ;:mod neogit} + :lewis6991/gitsigns.nvim {:dependencies [:plenary.nvim] :config #(require :plugins.gitsigns)} ;:mod gitsigns} + :TimUntersberger/neogit {:cmd :Neogit :dependencies [:plenary.nvim] :config #(require :plugins.neogit)} ;:mod neogit} :norcalli/nvim-colorizer.lua {:config #((. (require "colorizer") :setup))} :rcarriga/nvim-notify {:config #(set vim.notify (require "notify"))} - :folke/todo-comments.nvim {:requires :plenary.nvim :config #(require "plugins.todo")} ;:mod todo} + :folke/todo-comments.nvim {:dependencies :plenary.nvim :config #(require "plugins.todo")} ;:mod todo} ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;: ;;; quality of life improvements ;;; @@ -51,7 +51,7 @@ ;(vim.api.nvim_command "command! -nargs=0 Load :lua require('persistence').load()") ; (persistence.setup))} :christoomey/vim-tmux-navigator {} - :folke/which-key.nvim {:opt false :config #(require "plugins.whichkey")} + :folke/which-key.nvim {:lazy false :config #(require "plugins.whichkey")} :windwp/nvim-autopairs {:config #(require "plugins.autopairs")} ; :mod autopairs} ; :Yggdroot/indentLine {} ;; disable in favour of below plugin :lukas-reineke/indent-blankline.nvim @@ -66,82 +66,79 @@ :tweekmonster/startuptime.vim {:cmd :StartupTime} :andweeb/presence.nvim {:config #(require :plugins.presence)}; :mod presence} :wakatime/vim-wakatime {} - :tjdevries/train.nvim {:opt true} + :tjdevries/train.nvim {:lazy true} ; Completion -; :github/copilot.vim {};:opt true} - :saadparwaiz1/cmp_luasnip {:opt true :requires :luasnip :module :cmp_luasnip} + :github/copilot.vim {};:lazy true} + :saadparwaiz1/cmp_luasnip {:lazy true :dependencies :luasnip :module :cmp_luasnip} :L3mON4D3/luasnip {:module :luasnip} :uga-rosa/cmp-dictionary {:module :cmp_dictionary} - :hrsh7th/cmp-buffer {:opt true :module :cmp_buffer} + :hrsh7th/cmp-buffer {:lazy true :module :cmp_buffer} :hrsh7th/cmp-path {} :hrsh7th/cmp-cmdline {} :hrsh7th/cmp-nvim-lua {:ft [:lua :fennel]} :hrsh7th/cmp-copilot {} - :Saecki/crates.nvim {:requires :plenary.nvim :ft [:toml] :config #((. (require :crates) :setup))} - :hrsh7th/nvim-cmp {:requires [:crates.nvim :cmp-copilot :cmp_luasnip :luasnip :hrsh7th/cmp-buffer] :config #(require :plugins.cmp)}; :module [:plugins.cmp :cmp] :ft [:lua :fennel] + :Saecki/crates.nvim {:dependencies :plenary.nvim :ft [:toml] :config #((. (require :crates) :setup))} + :hrsh7th/nvim-cmp {:dependencies [:crates.nvim :cmp-copilot :cmp_luasnip :luasnip :hrsh7th/cmp-buffer] :config #(require :plugins.cmp)}; :module [:plugins.cmp :cmp] :ft [:lua :fennel] ;Language support :nvim-treesitter/nvim-treesitter {:do :TSUpdate - :requires [:JoosepAlviste/nvim-ts-context-commentstring :nvim-treesitter/nvim-treesitter-refactor :nvim-treesitter/playground ] :config #(require "plugins.treesitter")} ; :mod treesitter} + :dependencies [:JoosepAlviste/nvim-ts-context-commentstring :nvim-treesitter/nvim-treesitter-refactor :nvim-treesitter/playground ] :config #(require "plugins.treesitter")} ; :mod treesitter} - :folke/twilight.nvim {:cmd :Twilight :requires :nvim-treesitter} + :folke/twilight.nvim {:cmd :Twilight :dependencies :nvim-treesitter} :iamcco/markdown-preview.nvim {:ft :markdown :run "cd app && yarn install"} ; :plasticboy/vim-markdown {:ft :markdown :config #(vim.cmd " ; let g:vim_markdown_fenced_languages = ['bash=sh','nix=nix'] ; ")} :Olical/conjure {:ft [:fennel :racket :cl]} - :wlangstroth/vim-racket {:opt true} - :vmchale/dhall-vim {:opt true} - :ziglang/zig.vim {:opt true} - :edwinb/idris2-vim {:opt true} - :shinKage/idris2-nvim {:ft :idris2 :requires :nui.nvim} - :udalov/kotlin-vim {:opt true} + :wlangstroth/vim-racket {:lazy true} + :vmchale/dhall-vim {:lazy true} + :ziglang/zig.vim {:lazy true} + :edwinb/idris2-vim {:lazy true} + :shinKage/idris2-nvim {:ft :idris2 :dependencies :nui.nvim} + :udalov/kotlin-vim {:lazy true} :derekelkins/agda-vim {:ft :agda :config #(vim.api.nvim_command "let maplocalleader = \",\"")} - :LnL7/vim-nix {:opt true} + :LnL7/vim-nix {:lazy true} :tikhomirov/vim-glsl {:ft :glsl} :dag/vim-fish {:ft :fish} :purescript-contrib/purescript-vim {:ft :purescript} - :eraserhd/parinfer-rust {:ft [:fennel :racket :scheme :lisp] :run (if (> (vim.fn.exists "/etc/nixos") 0) "nix-shell --run 'cargo build --release'" "cargo build --release")} + :eraserhd/parinfer-rust {:ft [:fennel :racket :scheme :lisp] :build (fn [] (if (> (vim.fn.exists "/nix/") 0) "nix-shell --run 'cargo build --release'" "cargo build --release"))} ; :gpanders/nvim-parinfer {:ft [:fennel :racket :scheme :lisp]} :elkowar/yuck.vim {:ft :yuck} ; :elkowar/nvim-gehzu {:ft :fnl} - :vhyrro/neorg {:after [:nvim-cmp :nvim-treesitter] :ft :norg :require [:plenary.nvim] :config #(require :plugins.neorg)} ;:mod neorg} + ; :vhyrro/neorg {:after [:nvim-cmp :nvim-treesitter] :ft :norg :require [:plenary.nvim] :config #(require :plugins.neorg)} ;:mod neorg} :nvim-lua/lsp-status.nvim {:module :lsp-status} - :simrat39/symbols-outline.nvim {:opt true} - :scalameta/nvim-metals {:ft :scala :requires [:plenary.nvim :nvim-lspconfig]} + :simrat39/symbols-outline.nvim {:lazy true} + :scalameta/nvim-metals {:ft :scala :dependencies [:plenary.nvim :nvim-lspconfig]} :onsails/lspkind-nvim {:module :lspkind} :jamestthompson3/nvim-remote-containers {} :esensar/nvim-dev-container {:config (fn [] ((. (require "devcontainer") :setup) {}))} :neovim/nvim-lspconfig { :ft [:haskell :rust :typescript :javascript :lua :zig :go :c :cpp :typescriptreact :scala :nix :purescript :ocaml :idris2 :ps1 :java :python :kotlin :cs :ada] - :opt true - :requires [;FIXME change to use branch - {1 :mrcjkb/rustaceanvim :requires [:nvim-dap]} - :nvim-lua/lsp_extensions.nvim - :kosayoda/nvim-lightbulb - {1 :williamboman/mason.nvim :module :mason} - {1 :williamboman/mason-lspconfig.nvim :module :mason-lspconfig} - {1 :filipdutescu/renamer.nvim :branch :master :module :renamer :requires [:plenary.nvim]} - :which-key.nvim - {1 :ray-x/lsp_signature.nvim :module :lsp_signature} - :nvim-cmp - :jubnzv/virtual-types.nvim - :luasnip - {1 :hrsh7th/cmp-nvim-lsp :module :cmp_nvim_lsp} - :symbols-outline.nvim - :idris2-nvim] + :lazy true + :dependencies [;FIXME change to use branch + {1 :mrcjkb/rustaceanvim :dependencies [:nvim-dap]} + :nvim-lua/lsp_extensions.nvim + :kosayoda/nvim-lightbulb + {1 :williamboman/mason.nvim :module :mason} + {1 :williamboman/mason-lspconfig.nvim :module :mason-lspconfig} + {1 :filipdutescu/renamer.nvim :branch :master :module :renamer :dependencies [:plenary.nvim]} + :which-key.nvim + {1 :ray-x/lsp_signature.nvim :module :lsp_signature} + :nvim-cmp + :jubnzv/virtual-types.nvim + :luasnip + {1 :hrsh7th/cmp-nvim-lsp :module :cmp_nvim_lsp} + :symbols-outline.nvim + :idris2-nvim] :config #(require "plugins.lsp")} ; :mod nvim_lsp} ; :karb94/neoscroll.nvim {:config #(. (require "neoscroll") :setup) } - :mfussenegger/nvim-dap {:ft [:rust :c :cpp] :opt true :config #(require :plugins.dap) :requires [{1 :rcarriga/nvim-dap-ui :module :dapui :requires [:nvim-neotest/nvim-nio]}]}) + :mfussenegger/nvim-dap {:ft [:rust :c :cpp] :lazy true :config #(require :plugins.dap) :dependencies [{1 :rcarriga/nvim-dap-ui :module :dapui :dependencies [:nvim-neotest/nvim-nio]}]}) -(when _G.packer_bootstrap - (vim.api.nvim_command "au! User PackerComplete :q! | lua vim.notify(\"Successfully bootstrapped\")") - ((. (require "packer") :sync))) diff --git a/.config/nvim/fnl/plugins/feline.fnl b/.config/nvim/fnl/plugins/feline.fnl index 06cc50b1e..8d1420246 100755 --- a/.config/nvim/fnl/plugins/feline.fnl +++ b/.config/nvim/fnl/plugins/feline.fnl @@ -81,7 +81,7 @@ (tset components.active 1 [ { - :provider "  " + :provider " 󰊠 " :left_sep [" " {:str " " :hl {:fg colors.cyan :bg :NONE}}] :hl #{:bg colors.cyan :style :bold diff --git a/.config/nvim/fnl/plugins/lsp.fnl b/.config/nvim/fnl/plugins/lsp.fnl index e34a86aef..b42d66a16 100755 --- a/.config/nvim/fnl/plugins/lsp.fnl +++ b/.config/nvim/fnl/plugins/lsp.fnl @@ -6,8 +6,7 @@ autoload {idris2 idris2 lsp-signature lsp_signature virtualtypes virtualtypes - renamer renamer - lsp lspconfig + renamer renamer lsp lspconfig cmp_nvim_lsp cmp_nvim_lsp a aniseed.core nvim aniseed.nvim @@ -147,7 +146,8 @@ (let [merged-opts (a.merge {: on_attach : capabilities} (or ?opts {})) - run-server #((. lsp lsp-name :setup) merged-opts)] + run-server #(vim.lsp.enable lsp-name)] + (vim.lsp.config lsp-name merged_opts) (if merged_opts.fts (let [fts merged_opts.fts] (a.assoc merged_opts :fts) @@ -174,9 +174,7 @@ (init-lsp :sumneko_lua {:fts :lua}) (init-lsp :clangd {:fts [:cpp :c] :init_options {:clangdFileStatus true} :handlers (lsp-status.extensions.clangd.setup)}) ; (init-lsp :ccls {:fts [:cpp :c]}) - (init-lsp :rnix {:fts :nix}) - (au_ft_once :nix (fn [] - ((. lsp :rnix :setup) {: on_attach : capabilities}))) + (init-lsp :nil_ls {:fts nil_ls}) (init-lsp :ocamlls {:fts :ocaml}) (init-lsp :pyright {:fts :python :handlers (lsp-status.extensions.pyls_ms.setup) diff --git a/.config/nvim/fnl/plugins/neorg.fnl b/.config/nvim/fnl/plugins/neorg.fnl index 9ea44f99b..b5b33f0bb 100755 --- a/.config/nvim/fnl/plugins/neorg.fnl +++ b/.config/nvim/fnl/plugins/neorg.fnl @@ -8,7 +8,7 @@ "core.defaults" {} ; Load all the default modules "core.norg.concealer" {} ; Allows for use of icons :core.norg.completion {:config {:engine :nvim-cmp}} - "core.integrations.treesitter" {} +; "core.integrations.treesitter" {} "core.norg.dirman" { ; Manage your directories with Neorg :config { :workspaces { diff --git a/.config/nvim/fnl/plugins/treesitter.fnl b/.config/nvim/fnl/plugins/treesitter.fnl index ea7cb514a..e50184f82 100755 --- a/.config/nvim/fnl/plugins/treesitter.fnl +++ b/.config/nvim/fnl/plugins/treesitter.fnl @@ -7,8 +7,8 @@ ; :install_info {:url "~/packages/tree-sitter-agda" ; :files [:src/parser.c :src/scanner.cc]} ; :filetype :agda}}) -(tset (parsers.get_parser_configs) :norg { - :install_info {:url "https://github.com/nvim-neorg/tree-sitter-norg" :files [:src/parser.c :src/scanner.cc] :branch :main}}) +; (tset (parsers.get_parser_configs) :norg { +; :install_info {:url "https://github.com/nvim-neorg/tree-sitter-norg" :files [:src/parser.c :src/scanner.cc] :branch :main}}}) (set vim.wo.foldmethod "expr") (set vim.wo.foldexpr "nvim_treesitter#foldexpr()") (set vim.wo.foldlevel 1) @@ -20,7 +20,7 @@ (if status res))]) (treesitter.setup { - :ensure_installed [:rust :haskell :javascript :c :fennel :go :zig :nix :cpp :bash :glsl :python :lua :toml :typescript :yaml :css :norg :kotlin :markdown :jsonc] + :ensure_installed [:rust :haskell :javascript :c :fennel :go :zig :nix :cpp :bash :glsl :python :lua :toml :typescript :yaml :css :kotlin :markdown :jsonc] :highlight { :enable true} :autopairs {:enable true} diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 66516ad03..88c71def5 100755 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,31 +1,43 @@ -local execute = vim.api.nvim_command -local fn = vim.fn -local pack_path = fn.stdpath("data") .. "/site/pack" -local fmt = string.format -function ensure (user, repo) - local install_path = fmt("%s/packer/start/%s", pack_path, repo, repo) - if fn.empty(fn.glob(install_path)) > 0 then - execute(fmt("!git clone https://github.com/%s/%s %s", user, repo, install_path)) - if user == "wbthomason" and repo == "packer.nvim" then - packer_bootstrap = true - end +local packages_path = vim.fn.stdpath("data") .. "/lazy" + +local function install_package(name, alias) + ---@type unknown, unknown, string, string + local _, _, owner, repo = name:find("(.+)/(.+)") + local path = ("%s/%s"):format(packages_path, alias or repo) + + if not vim.uv.fs_stat(path) then + vim.notify(("Installing %s/%s..."):format(owner, repo), vim.log.levels.INFO) + + vim + .system({ + "git", + "clone", + "--filter=blob:none", + "--single-branch", + ("https://github.com/%s/%s.git"):format(owner, repo), + path, + }) + :wait() end -end -if fn.has("win32") > 0 then - -- vim.o.shellslash = true + vim.opt.runtimepath:prepend(path) end +install_package("folke/lazy.nvim") +install_package("Olical/aniseed") +install_package("tsbohc/zest.nvim") + + + +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + -ensure("wbthomason", "packer.nvim") -ensure("Olical", "aniseed") -ensure("lewis6991","impatient.nvim") -ensure("tsbohc","zest.nvim") ---ensure("rktjmp","hotpot.nvim") +vim.loader.enable() +-- ensure("rktjmp","hotpot.nvim") -- -- --require ("hotpot") -require "impatient" require "zest".setup() vim.o.termguicolors = true diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json new file mode 100644 index 000000000..2cf757d35 --- /dev/null +++ b/.config/nvim/lazy-lock.json @@ -0,0 +1,87 @@ +{ + "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, + "agda-vim": { "branch": "master", "commit": "4a0f475aaef756702222bdd5b01e25f814f5691f" }, + "animate.vim": { "branch": "master", "commit": "ca124da441b4d4ea721f33a999d4493e0d0a7a31" }, + "aniseed": { "branch": "master", "commit": "d558a68329c465bced901adf3238a6f946d62483" }, + "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, + "cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" }, + "cmp-copilot": { "branch": "main", "commit": "1f3f31c54bd71e41ed157430702bc2837ea582ab" }, + "cmp-dictionary": { "branch": "main", "commit": "fecc3ef2435c2be35818f8fcac4a6c5655f3a8f0" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, + "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, + "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" }, + "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, + "conjure": { "branch": "main", "commit": "9fec2bd817e2ce9a24b07016141b213cc16befdc" }, + "copilot.vim": { "branch": "release", "commit": "d1e8429bef7f7709586886b0a23a46fbecc685c4" }, + "crates.nvim": { "branch": "main", "commit": "25f31372ab6f504d4fd7cfee836ad459caed8e68" }, + "dhall-vim": { "branch": "master", "commit": "bd9fd99f21dbc7174fb728a21d04e073ef7dd930" }, + "distant.nvim": { "branch": "v0.3", "commit": "67d6b066e8490725718b79f643966f4eafc7da3c" }, + "feline.nvim": { "branch": "master", "commit": "3587f57480b88e8009df7b36dc84e9c7ff8f2c49" }, + "gitsigns.nvim": { "branch": "main", "commit": "ee0606259ee5d5dd40398be26755048e8965086e" }, + "glow.nvim": { "branch": "main", "commit": "5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2" }, + "hotpot.nvim": { "branch": "main", "commit": "c6026bedbc593ce5c00399ccfb1cf964180f529b" }, + "idris2-nvim": { "branch": "main", "commit": "bd282b74068e53e94d0c40ccc52f59eed3be909a" }, + "idris2-vim": { "branch": "master", "commit": "964cebee493c85f75796e4f4e6bbb4ac54e2da9e" }, + "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, + "kotlin-vim": { "branch": "master", "commit": "53fe045906df8eeb07cb77b078fc93acda6c90b8" }, + "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, + "lsp-status.nvim": { "branch": "master", "commit": "54f48eb5017632d81d0fd40112065f1d062d0629" }, + "lsp_extensions.nvim": { "branch": "master", "commit": "92c08d4914d5d272fae13c499aafc9f14eb05ada" }, + "lsp_signature.nvim": { "branch": "master", "commit": "2b30d8582126a12a493b737e9761969eb869a05b" }, + "lspkind-nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" }, + "luasnip": { "branch": "master", "commit": "c1851d5c519611dfc451b6582961b2602e0af89b" }, + "lush.nvim": { "branch": "main", "commit": "45a79ec4acb5af783a6a29673a999ce37f00497e" }, + "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "2cb844268288ccc06b8d0f368ef3c2b195e8278c" }, + "mason.nvim": { "branch": "main", "commit": "1aceba8bc158b5aaf90649077cad06744bc23ac4" }, + "mkdir.nvim": { "branch": "main", "commit": "c55d1dee4f099528a1853b28bb28caa802eba217" }, + "neogit": { "branch": "master", "commit": "337447c4b0467a0904795b50ce44f715de760a5d" }, + "nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" }, + "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, + "nvim-bufferline.lua": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, + "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, + "nvim-dap": { "branch": "master", "commit": "8df427aeba0a06c6577dc3ab82de3076964e3b8d" }, + "nvim-dap-ui": { "branch": "master", "commit": "73a26abf4941aa27da59820fd6b028ebcdbcf932" }, + "nvim-dev-container": { "branch": "main", "commit": "ba9666bdaec23cfe8087c0b6bb0a15c93ec8ba87" }, + "nvim-lightbulb": { "branch": "master", "commit": "aa3a8b0f4305b25cfe368f6c9be9923a7c9d0805" }, + "nvim-lspconfig": { "branch": "master", "commit": "ac1dfbe3b60e5e23a2cff90e3bd6a3bc88031a57" }, + "nvim-metals": { "branch": "main", "commit": "d1639b7fccd845875e33444c7860ad292ab8670d" }, + "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, + "nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" }, + "nvim-remote-containers": { "branch": "master", "commit": "73c2cbc59b69b4026682aea6bab225831fb8eaa4" }, + "nvim-tree.lua": { "branch": "master", "commit": "25d16aab7d29ca940a9feb92e6bb734697417009" }, + "nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" }, + "nvim-treesitter-refactor": { "branch": "master", "commit": "d8b74fa87afc6a1e97b18da23e762efb032dc270" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" }, + "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, + "packer.nvim": { "branch": "master", "commit": "ea0cc3c59f67c440c5ff0bbe4fb9420f4350b9a3" }, + "parinfer-rust": { "branch": "master", "commit": "55bec1e3d4f127527c5c2e507fac96cc934aed6e" }, + "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, + "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, + "presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" }, + "purescript-vim": { "branch": "main", "commit": "82348352e6568fcc0385bd7c99a8ead3a479feea" }, + "renamer.nvim": { "branch": "master", "commit": "1614d466df53899f11dd5395eaac3c09a275c384" }, + "rustaceanvim": { "branch": "master", "commit": "e9166120fcdd1aa617808b265e05397dc324739b" }, + "sqlite.lua": { "branch": "master", "commit": "50092d60feb242602d7578398c6eb53b4a8ffe7b" }, + "startuptime.vim": { "branch": "master", "commit": "dfa57f522d6f61793fe5fea65bca7484751b8ca2" }, + "symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" }, + "telescope-frecency.nvim": { "branch": "master", "commit": "03a0efd1a8668b902bddef4b82cb7d46cd5ab22c" }, + "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, + "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, + "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, + "train.nvim": { "branch": "master", "commit": "87a45f805497e7e929702c75187704de8990de14" }, + "twilight.nvim": { "branch": "main", "commit": "1584c0b0a979b71fd86b18d302ba84e9aba85b1b" }, + "vim-better-whitespace": { "branch": "master", "commit": "de99b55a6fe8c96a69f9376f16b1d5d627a56e81" }, + "vim-fish": { "branch": "master", "commit": "50b95cbbcd09c046121367d49039710e9dc9c15f" }, + "vim-glsl": { "branch": "master", "commit": "40dd0b143ef93f3930a8a409f60c1bb85e28b727" }, + "vim-nix": { "branch": "master", "commit": "7235c7ce2cea530cb6b59bc3e46d4bfe917d15c8" }, + "vim-racket": { "branch": "master", "commit": "2c7ec0f35a2ad1ca00305e5d67837bc1f1d4b6cc" }, + "vim-tmux-navigator": { "branch": "master", "commit": "64803fdd19a36211eba5e39f86c4cbceae8e1d06" }, + "vim-wakatime": { "branch": "master", "commit": "cb037fb53e718c4f0027a491782ad99efdcd789a" }, + "virtual-types.nvim": { "branch": "master", "commit": "d652ec0b1781bbb0e83dc588fb62d638006cf61e" }, + "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }, + "yuck.vim": { "branch": "master", "commit": "9b5e0370f70cc30383e1dabd6c215475915fe5c3" }, + "zest.nvim": { "branch": "master", "commit": "06cd8b2c35f0cda66f348fa3a6225c746cad2edc" }, + "zig.vim": { "branch": "master", "commit": "e55a7949561d34822b7cd2290819927b79825dcd" } +} diff --git a/.config/sketchybar/colors.sh b/.config/sketchybar/colors.sh new file mode 100755 index 000000000..00ec56a78 --- /dev/null +++ b/.config/sketchybar/colors.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env sh + +# Define colors from polybar config +BLACK="0xff2A2A2A" +WHITE="0xffD9D9D9" +BLUE="0xff0000ff" +GREEN="0xff00ff00" +PINK="0xffffd1dc" +YELLOW="0xffFFDB9E" +PURPLE="0xff9591FF" +GRAY="0xff707078" \ No newline at end of file diff --git a/.config/sketchybar/plugins/battery.sh b/.config/sketchybar/plugins/battery.sh new file mode 100755 index 000000000..83e4baab6 --- /dev/null +++ b/.config/sketchybar/plugins/battery.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env sh + +# Get battery percentage and charging status +PERCENTAGE=$(pmset -g batt | grep -Eo "\d+%" | cut -d% -f1) +CHARGING=$(pmset -g batt | grep 'AC Power') + +if [ "$CHARGING" != "" ]; then + # Charging - show charging icon + case ${PERCENTAGE} in + 100) ICON=" 󱐋";; + 9[0-9]) ICON=" 󱐋";; + [6-8][0-9]) ICON=" 󱊥󱐋" ;; + [3-5][0-9]) ICON=" 󱊤󱐋" ;; + [1-2][0-9]) ICON=" 󰢟󱐋" ;; + *) ICON=" 󱐋" ;; + esac +else + # Discharging - show battery level icon + case ${PERCENTAGE} in + 9[0-9]|100) ICON=" " COLOR=0xff82FFA2 ;; + [6-8][0-9]) ICON=" " COLOR=0xff82FFA2 ;; + [3-5][0-9]) ICON=" " COLOR=0xffFFFFFF ;; + [1-2][0-9]) ICON="" COLOR=0xffFFAE8F ;; + *) ICON=" " COLOR=0xffFF6970 ;; + esac +fi + +sketchybar --set $NAME icon="$ICON" label="${PERCENTAGE}%" icon.color=${COLOR:-0xffffffff} diff --git a/.config/sketchybar/plugins/date.sh b/.config/sketchybar/plugins/date.sh new file mode 100755 index 000000000..7fce86cd4 --- /dev/null +++ b/.config/sketchybar/plugins/date.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env sh + +date=$(date +"%a %d %b") + +sketchybar --set $NAME label=" $date" \ + icon="" diff --git a/.config/sketchybar/plugins/media.sh b/.config/sketchybar/plugins/media.sh new file mode 100755 index 000000000..cab1ccc2d --- /dev/null +++ b/.config/sketchybar/plugins/media.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env sh + +# This gets the currently playing track from Music/Spotify +PLAYER_STATE=$(osascript -e 'tell application "System Events" + set processList to name of every process + if processList contains "Music" then + tell application "Music" + if player state is playing then + set trackName to name of current track + set artistName to artist of current track + return "♫ " & trackName & " - " & artistName + else + return "" + end if + end tell + else if processList contains "Spotify" then + tell application "Spotify" + if player state is playing then + set trackName to name of current track + set artistName to artist of current track + return "♫ " & trackName & " - " & artistName + else + return "" + end if + end tell + else + return "" + end if +end tell') + +if [ "$PLAYER_STATE" = "" ]; then + sketchybar --set $NAME label="" +else + sketchybar --set $NAME label="$PLAYER_STATE" +fi \ No newline at end of file diff --git a/.config/sketchybar/plugins/power.sh b/.config/sketchybar/plugins/power.sh new file mode 100755 index 000000000..bdf6e6059 --- /dev/null +++ b/.config/sketchybar/plugins/power.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env sh + +# Handle power menu click +osascript -e 'tell application "System Events" to display dialog "Power Options" buttons {"Sleep", "Restart", "Shutdown", "Cancel"} default button "Cancel" with title "Power Menu"' > /tmp/power_choice_result 2>&1 + +choice=$(cat /tmp/power_choice_result | grep "button returned" | awk -F":" '{print $2}' | tr -d ' ') + +case "$choice" in + "Sleep") + osascript -e 'tell application "System Events" to sleep' + ;; + "Restart") + osascript -e 'tell application "System Events" to restart' + ;; + "Shutdown") + osascript -e 'tell application "System Events" to shut down' + ;; + *) + # Cancel or no selection + ;; +esac \ No newline at end of file diff --git a/.config/sketchybar/plugins/time.sh b/.config/sketchybar/plugins/time.sh new file mode 100755 index 000000000..c389cf035 --- /dev/null +++ b/.config/sketchybar/plugins/time.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env sh + +# Format time in a style similar to polybar +time=$(date +"%I:%M%p" | tr '[:upper:]' '[:lower:]') + +sketchybar --set $NAME label="$time" \ + background.color=0xff3f3f3f \ + label.color=0xffffffff \ No newline at end of file diff --git a/.config/sketchybar/plugins/uptime.sh b/.config/sketchybar/plugins/uptime.sh new file mode 100755 index 000000000..50d0dc6ba --- /dev/null +++ b/.config/sketchybar/plugins/uptime.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env sh + +# Get uptime in hours +uptime_output=$(uptime) +uptime_hours=$(echo "$uptime_output" | awk -F" " '{ print $3}' | sed 's/,//') + +sketchybar --set $NAME label=" $uptime_hours" \ + icon="" \ No newline at end of file diff --git a/.config/sketchybar/plugins/volume.sh b/.config/sketchybar/plugins/volume.sh new file mode 100755 index 000000000..bdb830d60 --- /dev/null +++ b/.config/sketchybar/plugins/volume.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env sh + +# Get volume percentage +volume=$(osascript -e "output volume of (get volume settings)") +muted=$(osascript -e "output muted of (get volume settings)") + +if [ "$muted" = "true" ]; then + icon="" + label="muted" +else + if [ "$volume" -gt 66 ]; then + icon="" + elif [ "$volume" -gt 33 ]; then + icon="󰖀" + else + icon="" + fi + label="$volume%" +fi + +sketchybar --set $NAME icon="$icon" \ + label="$label" \ + icon.color=0xff8BB2C1 \ + label.color=0xff8BB2C1 diff --git a/.config/sketchybar/plugins/workspaces.sh b/.config/sketchybar/plugins/workspaces.sh new file mode 100755 index 000000000..8c24a0dd9 --- /dev/null +++ b/.config/sketchybar/plugins/workspaces.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env sh + +# This is a simplified version - you'll need to integrate with your window manager +# For now, we'll create a simple space indicator + +spaces=$(yabai -m query --spaces | jq -r '.[] | select(."is-visible" == true).index') +active=$(yabai -m query --spaces | jq -r '.[] | select(."has-focus" == true).index') + +workspace_list="" +for i in {1..7}; do + if [ "$i" = "$active" ]; then + workspace_list+="[$i]" + elif echo "$spaces" | grep -q "$i"; then + workspace_list+=" $i " + else + workspace_list+=" $i " + fi +done + +sketchybar --set $NAME label="$workspace_list" --width dynamic diff --git a/.config/sketchybar/sketchybarrc b/.config/sketchybar/sketchybarrc new file mode 100755 index 000000000..fa523db18 --- /dev/null +++ b/.config/sketchybar/sketchybarrc @@ -0,0 +1,87 @@ +#!/usr/bin/env sh + +PLUGIN_DIR="$HOME/.config/sketchybar/plugins" + +# Colors +source "$HOME/.config/sketchybar/colors.sh" + +# Bar Properties +sketchybar --bar height=40 \ + position=top \ + padding_left=10 \ + padding_right=10 \ + color=$BLACK \ + border_width=0 \ + corner_radius=0 \ + margin=0 \ + blur_radius=0 \ + notch_width=0 + +# Set default values +sketchybar --default updates=when_shown \ + drawing=on \ + icon.font="RobotoMono Nerd Font:Bold:15.0" \ + icon.color=$WHITE \ + label.font="RobotoMono Nerd Font:Medium:15.0" \ + label.color=$WHITE \ + padding_left=5 \ + padding_right=5 + +# Left items (workspaces) +sketchybar --add item workspaces left \ + --set workspaces script="$PLUGIN_DIR/workspaces.sh" \ + update_freq=2 \ + background.color=$BLACK \ + background.border_width=0 \ + background.padding_left=10 + +# Center items (time) +sketchybar --add item time right \ + --set time update_freq=10 \ + script="$PLUGIN_DIR/time.sh" \ + background.color=$BLACK \ + background.height=30 \ + background.padding_right=10 \ + background.padding_left=10 + +# Right items +sketchybar --add item song right \ + --set song update_freq=5 \ + script="$PLUGIN_DIR/media.sh" \ + background.color=$BLACK \ + background.padding_right=10 \ + label.color=$GRAY + +sketchybar --add item volume right \ + --set volume update_freq=2 \ + script="$PLUGIN_DIR/volume.sh" \ + background.color=$BLACK + +sketchybar --add item uptime right \ + --set uptime update_freq=30 \ + script="$PLUGIN_DIR/uptime.sh" \ + background.color=$BLACK + +sketchybar --add item date right \ + --set date update_freq=60 \ + script="$PLUGIN_DIR/date.sh" \ + background.color=$BLACK \ + label.color=$PINK + +sketchybar --add item power right \ + --set power icon="襤" \ + icon.color=$PINK \ + background.color=$BLACK \ + click_script="$PLUGIN_DIR/power.sh" \ + label="" + +# Add battery item for laptops +if system_profiler SPPowerDataType 2>/dev/null | grep -q "Battery"; then + sketchybar --add item battery right \ + --set battery update_freq=120 \ + script="$PLUGIN_DIR/battery.sh" \ + background.color=$BLACK +fi + +# Start sketchybar +sketchybar --update diff --git a/.config/wezterm/config.fnl b/.config/wezterm/config.fnl index be094d001..1cf068b9e 100755 --- a/.config/wezterm/config.fnl +++ b/.config/wezterm/config.fnl @@ -16,6 +16,7 @@ "Pink Ocean" (require "pink_ocean")} :front_end "WebGpu" + :webgpu_preferred_adapter (. (wezterm.gui.enumerate_gpus) 1) :max_fps 120 :webgpu_power_preference "HighPerformance" :enable_scroll_bar true ;(~= os "GNU/Linux") diff --git a/backgrounds/header-boygenius-photo-credit_-shervin-lainez-jpg_wide-c30c5310750b194eff4b49e26120b93d31595bc7.jpg b/backgrounds/header-boygenius-photo-credit_-shervin-lainez-jpg_wide-c30c5310750b194eff4b49e26120b93d31595bc7.jpg old mode 100755 new mode 100644 index 0d716d479..00a4f04a8 Binary files a/backgrounds/header-boygenius-photo-credit_-shervin-lainez-jpg_wide-c30c5310750b194eff4b49e26120b93d31595bc7.jpg and b/backgrounds/header-boygenius-photo-credit_-shervin-lainez-jpg_wide-c30c5310750b194eff4b49e26120b93d31595bc7.jpg differ diff --git a/desktoppr.nix b/desktoppr.nix new file mode 100644 index 000000000..c9b4499da --- /dev/null +++ b/desktoppr.nix @@ -0,0 +1,34 @@ + {stdenv, fetchurl,lib, unzip }: +stdenv.mkDerivation { +name ="desktoppr"; + version = "0.5-218"; + pname = "desktoppr"; + src = fetchurl { + url = "https://github.com/scriptingosx/desktoppr/releases/download/v0.5/desktoppr-0.5-218.zip"; + hash = "sha256-Oa9gAQjOaJHYyT5JBUiFCxL1sQP1dqlFBm+GdmLHNNM="; + }; + + buildInputs = [ + unzip + ]; + + unpackPhase = '' + runHook preUnpack + + unzip $src + + runHook postUnpack + ''; + + + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp -r desktoppr $out/bin + + runHook postInstall + ''; + + } diff --git a/fetch b/fetch index c292e53a6..cac8f373e 100755 --- a/fetch +++ b/fetch @@ -1,7 +1,9 @@ #!/bin/sh +set +x LC_ALL=C LANG=C COLS=$(tput cols) + fg_c() { tput setaf "$1" } @@ -44,6 +46,8 @@ W_BG=$(bg_c $WHITE) W_FG=$(fg_c $WHITE) get_packages () { + + start="$(date '+%s.%N')" if command -v apt 1> /dev/null then package_data="${package_data}$(apt list --installed 2>&- | wc -l) (apt) " @@ -72,6 +76,7 @@ get_packages () { fi printf "%s" "$package_data" + stop="$(date '+%s.%N')" } @@ -124,10 +129,13 @@ lyric=${lyric:-"phoebe bridgers"} case $OSTYPE in darwin*) - memused="$(top -l 1 -s 0 | awk '/PhysMem/ {print $2}')" - memfree="$(top -l 1 -s 0 | awk '/PhysMem/ {print $8}')" - - + hw_pagesize="$(sysctl -n hw.pagesize)" + memtotal="$(($(sysctl -n hw.memsize) / 1024 / 1024))" + pages_app="$(($(sysctl -n vm.page_pageable_internal_count) - $(sysctl -n vm.page_purgeable_count)))" + pages_wired="$(vm_stat | awk '/ wired/ { print $4 }')" + pages_compressed="$(vm_stat | awk '/ occupied/ { printf $5 }')" + pages_compressed="${pages_compressed:-0}" + memused="$(((${pages_app} + ${pages_wired//.} + ${pages_compressed//.}) * hw_pagesize / 1024 / 1024))" ;; linux*) memused="$(free -m | awk '/Mem/ {print $3}')" diff --git a/nixos-config/flake.lock b/flake.lock old mode 100755 new mode 100644 similarity index 59% rename from nixos-config/flake.lock rename to flake.lock index 8dc877326..3b540f586 --- a/nixos-config/flake.lock +++ b/flake.lock @@ -22,11 +22,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1733392675, - "narHash": "sha256-bHffNRWzOSdyLEiOi+zf9o10cN6/olP9T5UxKHgxoJ0=", + "lastModified": 1745488724, + "narHash": "sha256-ddozIf5K80xcJ4HKxFUiFt1cAw5z5vNh9u3dSxElims=", "owner": "1Password", "repo": "shell-plugins", - "rev": "f03bbc885daf60554ed7b0d011efe0f3e1e48c7e", + "rev": "f2ce41e32d24d89dea43b2e44f0880b175adf32f", "type": "github" }, "original": { @@ -43,11 +43,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1723293904, - "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=", + "lastModified": 1747575206, + "narHash": "sha256-NwmAFuDUO/PFcgaGGr4j3ozG9Pe5hZ/ogitWhY+D81k=", "owner": "ryantm", "repo": "agenix", - "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41", + "rev": "4835b1dc898959d8547a871ef484930675cb47f1", "type": "github" }, "original": { @@ -63,11 +63,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1733918465, - "narHash": "sha256-hSuGa8Hh67EHr2x812Ay6WFyFT2BGKn+zk+FJWeKXPg=", + "lastModified": 1745165725, + "narHash": "sha256-OnHV8Us04vRsWM0uL1cQez8DumhRi6yE+4K4VLtH6Ws=", "owner": "hercules-ci", "repo": "arion", - "rev": "f01c95c10f9d4f04bb08d97b3233b530b180f12e", + "rev": "4f59059633b14364b994503b179a701f5e6cfb90", "type": "github" }, "original": { @@ -76,6 +76,73 @@ "type": "github" } }, + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1746562888, + "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1622559957, + "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1736852337, + "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1732806396, + "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + } + }, "blobs": { "flake": false, "locked": { @@ -124,6 +191,21 @@ "type": "github" } }, + "crane": { + "locked": { + "lastModified": 1731098351, + "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=", + "owner": "ipetkov", + "repo": "crane", + "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -132,11 +214,11 @@ ] }, "locked": { - "lastModified": 1700795494, - "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", + "lastModified": 1744478979, + "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", + "rev": "43975d782b418ebf4969e9ccba82466728c2851b", "type": "github" }, "original": { @@ -149,15 +231,15 @@ "darwin_2": { "inputs": { "nixpkgs": [ - "unstable" + "nixpkgs" ] }, "locked": { - "lastModified": 1735685839, - "narHash": "sha256-62xAPSs5VRZoPH7eRanUn5S5vZEd+8vM4bD5I+zxokc=", + "lastModified": 1747752313, + "narHash": "sha256-Z5OnPIZ3/ijo5xLCOpWoVbUE5JNnGxSHGhnJ3u9f2GE=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "6a1fdb2a1204c0de038847b601cff5012e162b5e", + "rev": "9ed53ae9abb5b125e453f37e475da5b8c368e676", "type": "github" }, "original": { @@ -269,11 +351,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1735895739, - "narHash": "sha256-TBhp9fnocT3QTjcXO6RZlxrmY1lUN34rDptMNM6gOfA=", + "lastModified": 1747794124, + "narHash": "sha256-GVMQfAoLuoo7Fq3VuwnWthWNoM9di/dlQdP/YrCQCCs=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "f056a3b82aa523aa3b3a033fe8ffe77d29461079", + "rev": "3f5c585027ef7798de403e4b7093f3005679496f", "type": "github" }, "original": { @@ -369,11 +451,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1735339768, - "narHash": "sha256-UyCF06z2evYpp92ErdqVw4meEGlmc/FGZubkr2Gqqxo=", + "lastModified": 1747575586, + "narHash": "sha256-zi+5G05aakh8GBdfHL1qcNo/15VEm5mXtHGgKMAyp1U=", "owner": "elkowar", "repo": "eww", - "rev": "6ee166707fb644d501a6d9151a491d07916ca4ed", + "rev": "98c220126d912b935987766f56650b55f3e226eb", "type": "github" }, "original": { @@ -398,6 +480,22 @@ "type": "github" } }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1744642301, + "narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "59e3de00f01e5adb851d824cf7911bd90c31083a", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, "flake-compat": { "locked": { "lastModified": 1709944340, @@ -417,11 +515,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -433,11 +531,11 @@ "flake-compat_3": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -463,6 +561,52 @@ } }, "flake-compat_5": { + "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-compat_6": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_7": { + "flake": false, + "locked": { + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_8": { "flake": false, "locked": { "lastModified": 1733328505, @@ -478,6 +622,21 @@ "type": "github" } }, + "flake-compat_9": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -502,16 +661,16 @@ "flake-parts_2": { "inputs": { "nixpkgs-lib": [ - "neovim", + "lanzaboote", "nixpkgs" ] }, "locked": { - "lastModified": 1735774679, - "narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=", + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", "type": "github" }, "original": { @@ -521,6 +680,27 @@ } }, "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "neovim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "neovim", @@ -528,6 +708,47 @@ "nixpkgs" ] }, + "locked": { + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_5": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_6": { + "inputs": { + "nixpkgs-lib": [ + "nur", + "nixpkgs" + ] + }, "locked": { "lastModified": 1733312601, "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", @@ -537,8 +758,30 @@ "type": "github" }, "original": { - "id": "flake-parts", - "type": "indirect" + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_7": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" } }, "flake-utils": { @@ -559,6 +802,24 @@ "type": "github" } }, + "flake-utils-plus": { + "inputs": { + "flake-utils": "flake-utils_6" + }, + "locked": { + "lastModified": 1696331477, + "narHash": "sha256-YkbRa/1wQWdWkVJ01JvV+75KIdM37UErqKgTf0L54Fk=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "bfc53579db89de750b25b0c5e7af299e0c06d7d3", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "type": "github" + } + }, "flake-utils_2": { "inputs": { "systems": "systems_3" @@ -629,6 +890,24 @@ "inputs": { "systems": "systems_5" }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_7": { + "inputs": { + "systems": "systems_6" + }, "locked": { "lastModified": 1731533236, "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", @@ -643,6 +922,40 @@ "type": "github" } }, + "flake-utils_8": { + "inputs": { + "systems": "systems_8" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "french-accents": { + "flake": false, + "locked": { + "lastModified": 1580585250, + "narHash": "sha256-o3JqqlPai42wr3kQNab0ROOa+SMpCKY5OuGshMC9/3U=", + "owner": "ottopiramuthu", + "repo": "espanso-package-example", + "rev": "911180066b79e5a8eb1649b326b5f623183bc2e1", + "type": "github" + }, + "original": { + "owner": "ottopiramuthu", + "repo": "espanso-package-example", + "type": "github" + } + }, "frex": { "flake": false, "locked": { @@ -659,6 +972,22 @@ "type": "github" } }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1731966426, + "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "106af9e2f715e2d828df706c386a685698f3223b", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, "fvect": { "flake": false, "locked": { @@ -677,23 +1006,19 @@ }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_3", - "gitignore": "gitignore", + "flake-compat": "flake-compat_4", + "gitignore": "gitignore_2", "nixpkgs": [ "neovim", "nixpkgs" - ], - "nixpkgs-stable": [ - "neovim", - "nixpkgs" ] }, "locked": { - "lastModified": 1734797603, - "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=", + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "type": "github" }, "original": { @@ -702,31 +1027,166 @@ "type": "github" } }, - "gitignore": { + "git-hooks_2": { "inputs": { + "flake-compat": [ + "nixos-mailserver", + "flake-compat" + ], + "gitignore": "gitignore_3", "nixpkgs": [ - "neovim", - "git-hooks", + "nixos-mailserver", "nixpkgs" ] }, "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", + "owner": "cachix", + "repo": "git-hooks.nix", "type": "github" } }, - "hashable": { - "flake": false, - "locked": { + "git-hooks_3": { + "inputs": { + "flake-compat": [ + "stylix", + "flake-compat" + ], + "gitignore": "gitignore_4", + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "lanzaboote", + "pre-commit-hooks-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "neovim", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_3": { + "inputs": { + "nixpkgs": [ + "nixos-mailserver", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_4": { + "inputs": { + "nixpkgs": [ + "stylix", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gnome-shell": { + "flake": false, + "locked": { + "lastModified": 1744584021, + "narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae", + "type": "github" + }, + "original": { + "owner": "GNOME", + "ref": "48.1", + "repo": "gnome-shell", + "type": "github" + } + }, + "hashable": { + "flake": false, + "locked": { "lastModified": 1633965157, "narHash": "sha256-Dggf5K//RCZ7uvtCyeiLNJS6mm+8/n0RFW3zAc7XqPg=", "owner": "z-snails", @@ -774,18 +1234,18 @@ }, "hercules-ci-effects": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "nixpkgs": [ "neovim", "nixpkgs" ] }, "locked": { - "lastModified": 1735695978, - "narHash": "sha256-cwk53OX1S1bCFY09zydubZNmmwcx9l5XEba8mVYuNE4=", + "lastModified": 1747284884, + "narHash": "sha256-lTSKhRrassMcJ1ZsuUVunyl/F04vvCKY80HB/4rvvm4=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "f6233b5cfbada692d93a73d6ed35bdbfd0fdb9c4", + "rev": "7168f6002a6b48a9b6151e1e97e974a0722ecfdc", "type": "github" }, "original": { @@ -802,11 +1262,11 @@ ] }, "locked": { - "lastModified": 1703113217, - "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=", + "lastModified": 1745494811, + "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=", "owner": "nix-community", "repo": "home-manager", - "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1", + "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be", "type": "github" }, "original": { @@ -822,11 +1282,32 @@ ] }, "locked": { - "lastModified": 1735900408, - "narHash": "sha256-U+oZBQ3f5fF2hHsupKQH4ihgTKLHgcJh6jEmKDg+W10=", + "lastModified": 1747793476, + "narHash": "sha256-2qAOSixSrbb9l6MI+SI4zGineOzDcc2dgOOFK9Dx+IY=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c8d4c8d592e8fab4cff4397db5529ec6f078cf9", + "rev": "2468b2d35512d093aeb04972a1d8c20a0735793f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_3": { + "inputs": { + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1747763032, + "narHash": "sha256-9j3oCbemeH7bTVXJ3pDWxOptbxDx2SdK1jY2AHpjQiw=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "29dda415f5b2178278283856c6f9f7b48a2a4353", "type": "github" }, "original": { @@ -891,11 +1372,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1735839100, - "narHash": "sha256-9Xkbe6GVpz61exWHBr4hM/mbnj3p7AXt6daT6UNl2C0=", + "lastModified": 1747599783, + "narHash": "sha256-bdCh5yOM27ZF2cyYxWO8s7+/Z0IndlXmPdug/evn3jA=", "owner": "idris-lang", "repo": "Idris2", - "rev": "0529a9724b100504f471021149a30b365658ec01", + "rev": "e4431891e915c6866a6eea18046dcb3bcdfa8d89", "type": "github" }, "original": { @@ -1000,6 +1481,22 @@ "type": "github" } }, + "input-leap": { + "flake": false, + "locked": { + "lastModified": 1746524759, + "narHash": "sha256-BIcepQ7m/jAK6d6VyE5X3zlXmM1L3hU3I7U4527q/1c=", + "owner": "input-leap", + "repo": "input-leap", + "rev": "7c84407d895fb6350fb7ee87350e3a9b0efd305d", + "type": "github" + }, + "original": { + "owner": "input-leap", + "repo": "input-leap", + "type": "github" + } + }, "ipkg-to-json": { "flake": false, "locked": { @@ -1016,6 +1513,34 @@ "type": "github" } }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737371634, + "narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.0.7", + "repo": "ixx", + "type": "github" + } + }, "json": { "flake": false, "locked": { @@ -1048,6 +1573,32 @@ "type": "github" } }, + "lanzaboote": { + "inputs": { + "crane": "crane", + "flake-compat": "flake-compat_2", + "flake-parts": "flake-parts_2", + "nixpkgs": [ + "nixpkgs" + ], + "pre-commit-hooks-nix": "pre-commit-hooks-nix", + "rust-overlay": "rust-overlay_2" + }, + "locked": { + "lastModified": 1737639419, + "narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=", + "owner": "nix-community", + "repo": "lanzaboote", + "rev": "a65905a09e2c43ff63be8c0e86a93712361f871e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "v0.4.2", + "repo": "lanzaboote", + "type": "github" + } + }, "local-nixpkgs": { "locked": { "lastModified": 1638620633, @@ -1102,8 +1653,8 @@ }, "neovim": { "inputs": { - "flake-compat": "flake-compat_2", - "flake-parts": "flake-parts_2", + "flake-compat": "flake-compat_3", + "flake-parts": "flake-parts_3", "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", @@ -1111,11 +1662,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735801710, - "narHash": "sha256-Z6Pl8LWYbPnqSinpSxrylfCpa4XkEVhzpfnfqiD0Kv8=", + "lastModified": 1747786187, + "narHash": "sha256-9SSsln1nd3SnECH7I466UzLZ2luJS1phTOYG0ehRAxQ=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "57a05ea557689b9d85dd594a9a26778b6842a18a", + "rev": "1709adcc65a1779b6513db3470dad257de7c24ae", "type": "github" }, "original": { @@ -1127,11 +1678,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735771362, - "narHash": "sha256-+HxTD7TxeIySWsE++VKDWBMQK5OqTv391wADaZ8UDuo=", + "lastModified": 1747760768, + "narHash": "sha256-5oDiP8Yn93692CUEH81LJbZxPIprIozLHdkFt5N9Np4=", "owner": "neovim", "repo": "neovim", - "rev": "6dc0eb9f41e6453fe003dd3a28c58b701fd003c9", + "rev": "cd9d8469b22cedeb5ccad3def6e3cfee2877577f", "type": "github" }, "original": { @@ -1140,6 +1691,26 @@ "type": "github" } }, + "nh": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1747596523, + "narHash": "sha256-qmc8XgAAEE9sm0yhFDUSwTMX5b8jxQdQLQtatgTMiB4=", + "owner": "nix-community", + "repo": "nh", + "rev": "e75dacd5df3f8feff16896884bd264dea78df334", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nh", + "type": "github" + } + }, "nix-doom-emacs": { "inputs": { "doom-emacs": "doom-emacs", @@ -1193,13 +1764,33 @@ "type": "github" } }, + "nixos-conf-editor": { + "inputs": { + "flake-compat": "flake-compat_5", + "nixpkgs": "nixpkgs_10", + "snowfall-lib": "snowfall-lib" + }, + "locked": { + "lastModified": 1707338010, + "narHash": "sha256-UtLeZzDdk96sLTRcWsGrkWCslNUDytrGe0VmOTB/iig=", + "owner": "snowfallorg", + "repo": "nixos-conf-editor", + "rev": "27b5e92f580f794c690093503869aab242f075ab", + "type": "github" + }, + "original": { + "owner": "snowfallorg", + "repo": "nixos-conf-editor", + "type": "github" + } + }, "nixos-hardware": { "locked": { - "lastModified": 1735388221, - "narHash": "sha256-e5IOgjQf0SZcFCEV/gMGrsI0gCJyqOKShBQU0iiM3Kg=", + "lastModified": 1747723695, + "narHash": "sha256-lSXzv33yv1O9r9Ai1MtYFDX3OKhWsZMn/5FFb4Rni/k=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "7c674c6734f61157e321db595dbfcd8523e04e19", + "rev": "6ac6ec6fcb410e15a60ef5ec94b8a2b35b5dd282", "type": "github" }, "original": { @@ -1212,16 +1803,17 @@ "nixos-mailserver": { "inputs": { "blobs": "blobs", - "flake-compat": "flake-compat_4", - "nixpkgs": "nixpkgs_10", + "flake-compat": "flake-compat_7", + "git-hooks": "git-hooks_2", + "nixpkgs": "nixpkgs_11", "nixpkgs-24_11": "nixpkgs-24_11" }, "locked": { - "lastModified": 1735230346, - "narHash": "sha256-zgR8NTiNDPVNrfaiOlB9yHSmCqFDo7Ks2IavaJ2dZo4=", + "lastModified": 1747781761, + "narHash": "sha256-wuNpRaKDgD0EWWT6FaCXHD2Jpldd4huSiq4G9NCH3Ok=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "dc0569066e79ae96184541da6fa28f35a33fbf7b", + "rev": "f7a221bc69ef6e67a56e370cbaf031ca2b3c7aa7", "type": "gitlab" }, "original": { @@ -1232,16 +1824,15 @@ }, "nixos-wsl": { "inputs": { - "flake-compat": "flake-compat_5", - "flake-utils": "flake-utils_6", - "nixpkgs": "nixpkgs_11" + "flake-compat": "flake-compat_8", + "nixpkgs": "nixpkgs_12" }, "locked": { - "lastModified": 1733854371, - "narHash": "sha256-K9qGHniYBbjqVcEiwXyiofj/IFf78L5F0/FCf+CKyr0=", + "lastModified": 1746453552, + "narHash": "sha256-r66UGha+7KVHkI7ksrcMjnw/mm9Sg4l5bQlylxHwdGU=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "dee4425dcee3149475ead0cb6a616b8a028c5888", + "rev": "be618645aa0adf461f778500172b6896d5ab2d01", "type": "github" }, "original": { @@ -1269,26 +1860,27 @@ }, "nixpkgs-24_11": { "locked": { - "lastModified": 1734083684, - "narHash": "sha256-5fNndbndxSx5d+C/D0p/VF32xDiJCJzyOqorOYW4JEo=", + "lastModified": 1747209494, + "narHash": "sha256-fLise+ys+bpyjuUUkbwqo5W/UyIELvRz9lPBPoB0fbM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "314e12ba369ccdb9b352a4db26ff419f7c49fa84", + "rev": "5d736263df906c5da72ab0f372427814de2f52f8", "type": "github" }, "original": { - "id": "nixpkgs", + "owner": "NixOS", "ref": "nixos-24.11", - "type": "indirect" + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1735669367, - "narHash": "sha256-tfYRbFhMOnYaM4ippqqid3BaLOXoFNdImrfBfCp4zn0=", + "lastModified": 1747676747, + "narHash": "sha256-LXkWBVqilgx7Pohwqu/ABxDVw+Cmi5/Mj2S2mpUH0Fw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "edf04b75c13c2ac0e54df5ec5c543e300f76f1c9", + "rev": "72841a4a8761d1aed92ef6169a636872c986c76d", "type": "github" }, "original": { @@ -1298,38 +1890,87 @@ "type": "github" } }, - "nixpkgs_10": { + "nixpkgs-stable_2": { "locked": { - "lastModified": 1732014248, - "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", "type": "github" }, "original": { - "id": "nixpkgs", + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_10": { + "locked": { + "lastModified": 1698318101, + "narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "63678e9f3d3afecfeafa0acead6239cdb447574c", + "type": "github" + }, + "original": { + "owner": "nixos", "ref": "nixos-unstable", - "type": "indirect" + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs_11": { "locked": { - "lastModified": 1733384649, - "narHash": "sha256-K5DJ2LpPqht7K76bsxetI+YHhGGRyVteTPRQaIIKJpw=", + "lastModified": 1747179050, + "narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "190c31a89e5eec80dd6604d7f9e5af3802a58a13", + "rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.05", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_12": { + "locked": { + "lastModified": 1742937945, + "narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d02d88f8de5b882ccdde0465d8fa2db3aa1169f7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_13": { + "locked": { + "lastModified": 1720031269, + "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_14": { "locked": { "lastModified": 1656753965, "narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=", @@ -1345,13 +1986,13 @@ "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_15": { "locked": { - "lastModified": 1728538411, - "narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=", + "lastModified": 1744536153, + "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221", + "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", "type": "github" }, "original": { @@ -1363,11 +2004,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1703013332, - "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", + "lastModified": 1745391562, + "narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", + "rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7", "type": "github" }, "original": { @@ -1395,11 +2036,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1735471104, - "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", + "lastModified": 1747542820, + "narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", + "rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043", "type": "github" }, "original": { @@ -1458,11 +2099,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1735617354, - "narHash": "sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy+8eSckoo=", + "lastModified": 1747728033, + "narHash": "sha256-NnXFQu7g4LnvPIPfJmBuZF7LFy/fey2g2+LCzjQhTUk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "69b9a8c860bdbb977adfa9c5e817ccb717884182", + "rev": "2f9173bde1d3fbf1ad26ff6d52f952f9e9da52ea", "type": "github" }, "original": { @@ -1487,6 +2128,29 @@ "type": "indirect" } }, + "nixvim": { + "inputs": { + "flake-parts": "flake-parts_5", + "nixpkgs": [ + "nixpkgs" + ], + "nuschtosSearch": "nuschtosSearch", + "systems": "systems_7" + }, + "locked": { + "lastModified": 1747743401, + "narHash": "sha256-AXk6mf9ySe44faNUGhD1mZud/kB7X+Nipzo2YxHet4s=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "47dba84e0d068a2b8c07faa0ec737ea98a226537", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, "nose": { "flake": false, "locked": { @@ -1503,6 +2167,77 @@ "type": "github" } }, + "nur": { + "inputs": { + "flake-parts": "flake-parts_6", + "nixpkgs": [ + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix_2" + }, + "locked": { + "lastModified": 1747797241, + "narHash": "sha256-gFGJqeI+3CvjE7zb0/P0P0PEgTjMXcsjTx0vUEF0ojY=", + "owner": "nix-community", + "repo": "NUR", + "rev": "b2c59aab813aea0fe161e5a491a1225067255740", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, + "nur_2": { + "inputs": { + "flake-parts": [ + "stylix", + "flake-parts" + ], + "nixpkgs": [ + "stylix", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix_3" + }, + "locked": { + "lastModified": 1746056780, + "narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=", + "owner": "nix-community", + "repo": "NUR", + "rev": "d476cd0972dd6242d76374fcc277e6735715c167", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils_7", + "ixx": "ixx", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1745046075, + "narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=", + "owner": "NuschtOS", + "repo": "search", + "rev": "066afe8643274470f4a294442aadd988356a478f", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "ob-racket": { "flake": false, "locked": { @@ -1535,6 +2270,25 @@ "type": "github" } }, + "opnix": { + "inputs": { + "flake-utils": "flake-utils_8", + "nixpkgs": "nixpkgs_13" + }, + "locked": { + "lastModified": 1746544287, + "narHash": "sha256-DbXxzdj5HNAFTUchtI3gBANcIkx3QVrl1AbSXlJJdf8=", + "owner": "brizzbuzz", + "repo": "opnix", + "rev": "e7038cc4432122524e9d964932444510ab681e9a", + "type": "github" + }, + "original": { + "owner": "brizzbuzz", + "repo": "opnix", + "type": "github" + } + }, "org": { "flake": false, "locked": { @@ -1615,6 +2369,33 @@ "type": "github" } }, + "pre-commit-hooks-nix": { + "inputs": { + "flake-compat": [ + "lanzaboote", + "flake-compat" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "lanzaboote", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable_2" + }, + "locked": { + "lastModified": 1731363552, + "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "pretty-show": { "flake": false, "locked": { @@ -1698,7 +2479,7 @@ "rnix": { "inputs": { "naersk": "naersk", - "nixpkgs": "nixpkgs_12", + "nixpkgs": "nixpkgs_14", "utils": "utils" }, "locked": { @@ -1724,22 +2505,32 @@ "emacs": "emacs", "eww": "eww", "flake-utils": "flake-utils_2", + "french-accents": "french-accents", "home-manager": "home-manager_2", "idris2": "idris2", "idris2-pkgs": "idris2-pkgs", + "input-leap": "input-leap", + "lanzaboote": "lanzaboote", "local-nixpkgs": "local-nixpkgs", "neovim": "neovim", + "nh": "nh", "nix-doom-emacs": "nix-doom-emacs", + "nixos-conf-editor": "nixos-conf-editor", "nixos-hardware": "nixos-hardware", "nixos-mailserver": "nixos-mailserver", "nixos-wsl": "nixos-wsl", "nixpkgs": [ "unstable" ], + "nixvim": "nixvim", + "nur": "nur", + "opnix": "opnix", "picom": "picom", "rnix": "rnix", - "rust-overlay": "rust-overlay_2", - "unstable": "unstable" + "rust-overlay": "rust-overlay_3", + "stylix": "stylix", + "unstable": "unstable", + "wezterm": "wezterm" } }, "rotate-text": { @@ -1781,14 +2572,35 @@ }, "rust-overlay_2": { "inputs": { - "nixpkgs": "nixpkgs_13" + "nixpkgs": [ + "lanzaboote", + "nixpkgs" + ] }, "locked": { - "lastModified": 1735871325, - "narHash": "sha256-6Ta5E4mhSfCP6LdkzkG2+BciLOCPeLKuYTJ6lOHW+mI=", + "lastModified": 1731897198, + "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "a599f011db521766cbaf7c2f5874182485554f00", + "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_3": { + "inputs": { + "nixpkgs": "nixpkgs_15" + }, + "locked": { + "lastModified": 1747795013, + "narHash": "sha256-c7i0xJ+xFhgjO9SWHYu5dF/7lq63RPDvwKAdjc6VCE4=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "6b1cf12374361859242a562e1933a7930649131a", "type": "github" }, "original": { @@ -1813,6 +2625,29 @@ "type": "github" } }, + "snowfall-lib": { + "inputs": { + "flake-compat": "flake-compat_6", + "flake-utils-plus": "flake-utils-plus", + "nixpkgs": [ + "nixos-conf-editor", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1696432959, + "narHash": "sha256-oJQZv2MYyJaVyVJY5IeevzqpGvMGKu5pZcCCJvb+xjc=", + "owner": "snowfallorg", + "repo": "lib", + "rev": "92803a029b5314d4436a8d9311d8707b71d9f0b6", + "type": "github" + }, + "original": { + "owner": "snowfallorg", + "repo": "lib", + "type": "github" + } + }, "sop": { "flake": false, "locked": { @@ -1829,6 +2664,43 @@ "type": "github" } }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-helix": "base16-helix", + "base16-vim": "base16-vim", + "firefox-gnome-theme": "firefox-gnome-theme", + "flake-compat": "flake-compat_9", + "flake-parts": "flake-parts_7", + "git-hooks": "git-hooks_3", + "gnome-shell": "gnome-shell", + "home-manager": "home-manager_3", + "nixpkgs": [ + "nixpkgs" + ], + "nur": "nur_2", + "systems": "systems_9", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1747769259, + "narHash": "sha256-UGfeK8/iUZVWDOYdEpbcbt0liTRIDNNepVzKzWPp6Zc=", + "owner": "danth", + "repo": "stylix", + "rev": "69b3dd05e6b64c71a10fb749b5ac4d7c8e40f720", + "type": "github" + }, + "original": { + "owner": "danth", + "repo": "stylix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -1904,6 +2776,66 @@ "type": "github" } }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_7": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_8": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tailrec": { "flake": false, "locked": { @@ -1920,6 +2852,87 @@ "type": "github" } }, + "tinted-foot": { + "flake": false, + "locked": { + "lastModified": 1726913040, + "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1735730497, + "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "type": "github" + } + }, + "tinted-schemes": { + "flake": false, + "locked": { + "lastModified": 1744974599, + "narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1745111349, + "narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "e009f18a01182b63559fb28f1c786eb027c3dee9", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1725758778, + "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -1928,11 +2941,54 @@ ] }, "locked": { - "lastModified": 1735653038, - "narHash": "sha256-Q6xAmciTXDtZfUxf6c15QqtRR8BvX4edYPstF/uoqMk=", + "lastModified": 1747469671, + "narHash": "sha256-bo1ptiFoNqm6m1B2iAhJmWCBmqveLVvxom6xKmtuzjg=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "56c0ecd79f7ba01a0ec027da015df751d6ca3ae7", + "rev": "ab0378b61b0d85e73a8ab05d5c6029b5bd58c9fb", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_2": { + "inputs": { + "nixpkgs": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_3": { + "inputs": { + "nixpkgs": [ + "stylix", + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", "type": "github" }, "original": { @@ -1943,11 +2999,11 @@ }, "unstable": { "locked": { - "lastModified": 1735471104, - "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", + "lastModified": 1747744144, + "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", + "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f", "type": "github" }, "original": { @@ -1972,6 +3028,22 @@ "type": "github" } }, + "wezterm": { + "flake": false, + "locked": { + "lastModified": 1747573338, + "narHash": "sha256-L5pVi8lvf916b/eQh4iIOK53kz/hgBmiNZSeFImMHHo=", + "owner": "wezterm", + "repo": "wezterm", + "rev": "5663e749948df3ed3c2d8ee0bfea6c85226310d9", + "type": "github" + }, + "original": { + "owner": "wezterm", + "repo": "wezterm", + "type": "github" + } + }, "xml": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix new file mode 100755 index 000000000..f454cac88 --- /dev/null +++ b/flake.nix @@ -0,0 +1,384 @@ +{ + + description = "AusCyber nix flake config"; + inputs = { + #Non flakes + nixos-conf-editor.url = "github:snowfallorg/nixos-conf-editor"; + picom = { + url = "github:ibhagwan/picom"; + flake = false; + }; + nixvim.url = "github:nix-community/nixvim"; + nixvim.inputs.nixpkgs.follows = "nixpkgs"; + stylix.url = "github:danth/stylix"; + stylix.inputs.nixpkgs.follows = "nixpkgs"; + wezterm = { + url = "github:wezterm/wezterm?submodules=1"; + flake = false; + }; + opnix.url = "github:brizzbuzz/opnix"; + nh.url = "github:nix-community/nh"; + nh.inputs.nixpkgs.follows = "nixpkgs"; + nur = { + url = "github:nix-community/NUR"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + input-leap = { + url = "github:input-leap/input-leap?submodules=1"; + flake = false; + }; + #flakes + agenix.url = "github:ryantm/agenix"; + darwin.url = "github:LnL7/nix-darwin"; + darwin.inputs.nixpkgs.follows = "nixpkgs"; + eww.url = "github:elkowar/eww"; + _1password-shell-plugins.url = "github:1Password/shell-plugins"; + rust-overlay.url = "github:oxalica/rust-overlay"; + lanzaboote = { + url = "github:nix-community/lanzaboote/v0.4.2"; + inputs.nixpkgs.follows = "nixpkgs"; + + }; + french-accents = { + url = "github:ottopiramuthu/espanso-package-example"; + flake = false; + }; + nix-doom-emacs.url = "github:vlaci/nix-doom-emacs"; + idris2-pkgs.url = "github:claymager/idris2-pkgs"; + local-nixpkgs.url = "github:auscyberman/nixpkgs"; + nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; + + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + arion.url = "github:hercules-ci/arion"; + + #idris2-pkgs.url = " github:claymager/idris2-pkgs "; + idris2.url = "github:idris-lang/Idris2"; + rnix.url = "github:nix-community/rnix-lsp"; + neovim.url = "github:nix-community/neovim-nightly-overlay"; + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + + nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; + emacs.url = "github:/nix-community/emacs-overlay"; + flake-utils.url = "github:numtide/flake-utils"; + #nixpkgs + unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + + nixpkgs.follows = "unstable"; + + }; + outputs = + inputs@{ self + , flake-utils + , nixpkgs + , home-manager + , neovim + , picom + , rnix + , idris2 + , rust-overlay + , eww + , stylix + , nixos-mailserver + , agenix + , nix-doom-emacs + , darwin + , idris2-pkgs + , nixos-wsl + , arion + , ... + }: + with nixpkgs.lib; + let + config = { + allowBroken = true; + allowUnfree = true; + }; + filterNixFiles = k: v: v == " + regular + " && hasSuffix ".nix " k; + importNixFiles = + path: + (lists.forEach ( + mapAttrsToList (name: _: path + ("/" + name)) (filterAttrs filterNixFiles (builtins.readDir path)) + )) + import; + overlays = [ + inputs.nur.overlays.default + inputs.emacs.overlays.default + rust-overlay.overlays.default + + neovim.overlays.default + ( + final: prev: + let + inherit (final.stdenv.hostPlatform) system; + in + { + input-leap = prev.input-leap.overrideAttrs + (attrs: + { + # patches = [ ]; + src = inputs.input-leap; + } + ); + + desktoppr = prev.callPackage ./desktoppr.nix {}; + inherit (inputs.nixos-conf-editor.packages."${system}") nixos-conf-editor; + nh = inputs.nh.packages."${system}".default; + agenix = inputs.agenix.packages."${system}".default; + inherit (eww.packages.${system}) eww; + inherit (rnix.packages."${system}") rnix-lsp; + ghostty-mac = prev.nur.repos.DimitarNestorov.ghostty; + picom = prev.picom.overrideAttrs (attrs: { + src = picom; + }); + # idris2 = idris2.packages."${system}".idris2; + # wezterm = (masterp {inherit system;}).wezterm; + # discord = (import master { inherit system config; }).discord; + #wezterm = prev.wezterm.overrideAttrs (attrs: rec { + # src = inputs.wezterm; + # cargoDeps = attrs.cargoDeps.overrideAttrs (cattrs: { + # inherit src; + # outputHash = + # "sha256-iNv9JEu1aQBxhwlugrl2GdoSvF9cYgM6TXBqamrPjFo="; + # }); + #}); + + inherit (final.idris2Pkgs) idris2; + idris2Pkgs = idris2-pkgs.packages."${system}"; + # minecraft-server = (import master { inherit system config; }).minecraft-server; + } + ) + ]; + + # ++ (importNixFiles ./overlays); + + in + { + darwinConfigurations = { + "Chriss-Mac-mini" = import ./systems/macmini { + modules = [ ./modules/common.nix ]; + home-manager-modules = [ + inputs._1password-shell-plugins.hmModules.default + ./hm/modules/zsh.nix + ./hm/modules/neovim.nix + ./hm/. + ./hm/mac.nix + ./hm/modules/1password.nix + ]; + inherit + nixpkgs + config + overlays + inputs + darwin + home-manager + ; + + }; + + "Ivys-MacBook-Pro" = import ./systems/macbook { + modules = [ + inputs.agenix.darwinModules.default + ./modules/common.nix + ./modules/hm.nix + inputs.stylix.darwinModules.stylix + ]; + home-manager-modules = [ + inputs.nixvim.homeManagerModules.nixvim + inputs._1password-shell-plugins.hmModules.default +# inputs.opnix.hmModules.default + ./hm/yabai.nix + ./hm/ui.nix + ./hm/term.nix + ./hm/modules/zsh.nix + ./hm/modules/neovim.nix + ./hm/modules/zotero.nix + ./hm/mac.nix + ./hm/modules/1password.nix + + ]; + inherit + nixpkgs + config + overlays + inputs + darwin + home-manager + ; + }; + }; + } + // (flake-utils.lib.eachDefaultSystem ( + system: + let + pkgs = import nixpkgs { + inherit system overlays; + }; + in + { + apps.nvim = flake-utils.lib.mkApp { + name = "nvim"; + drv = pkgs.neovim; + }; + } + )) + // { + nixosConfigurations = { + wsl-nixos = import ./systems/wsl-nixos { + modules = [ + nixos-wsl.nixosModules.default + home-manager.nixosModules.home-manager + ./modules/hm.nix + ./modules/common.nix + ]; + home-manager-modules = [ + ./hm/. + ./hm/modules/neovim.nix + ./hm/modules/zsh.nix + ]; + inherit + nixpkgs + config + overlays + inputs + home-manager + ; + + }; + auspc = import ./systems/auspc { + modules = [ + ./modules/hm.nix + ./modules/common.nix + inputs.lanzaboote.nixosModules.lanzaboote + ]; + home-manager-modules = [ + stylix.homeManagerModules.stylix + ./hm/hyprland.nix + ./hm/term.nix + ./hm/modules/neovim.nix + ./hm/ui.nix + ./hm/modules/desktop.nix + ./hm/modules/zsh.nix + ]; + inherit + nixpkgs + config + overlays + inputs + agenix + home-manager + ; + }; + surfacelaptop = import ./systems/surfacelaptop { + home-manager-modules = [ + ./hm/. + ./hm/modules/neovim.nix + ./hm/ui.nix + ./hm/laptop.nix + ]; + modules = [ + inputs._1password-shell-plugins.hmModules.default + inputs.nixos-hardware.nixosModules.microsoft-surface-laptop-amd + home-manager.nixosModules.home-manager + ./modules/1password.nix + ./modules/common.nix + ]; + inherit + nixpkgs + config + overlays + inputs + agenix + ; + }; + + secondpc = import ./systems/secondpc { + modules = [ + ./modules/common.nix + ./modules/hm.nix + arion.nixosModules.arion + ]; + home-manager-modules = [ + #./hm/arch.nix + # ./hm/modules/agda.nix + # ./hm/modules/emacs.nix + ./hm/modules/neovim.nix + ./hm/modules/zsh.nix + # ./hm/modules/kakoune.nix + # ./hm/modules/idris2.nix + ./hm/. + ]; + inherit + nixpkgs + config + overlays + inputs + nixos-mailserver + home-manager + ; + }; + + }; + homeConfigurations = { + ivy = + let + pkgs = import nixpkgs { + config.allowUnfree = true; + system = "x86_64-linux"; + inherit overlays; + }; + in + home-manager.lib.homeManagerConfiguration { + inherit pkgs; + modules = [ + #./hm/arch.nix + # ./hm/modules/agda.nix + # ./hm/modules/emacs.nix + ./hm/modules/neovim.nix + ./hm/standalone.nix + # ./hm/modules/kakoune.nix + # ./hm/modules/idris2.nix + ./hm/modules/zsh.nix + ./hm/. + #nix-doom-emacs.hmModule + { + home.username = "ivy"; + home.homeDirectory = "/home/ivy"; + } + ]; + }; + + arch = + let + pkgs = import nixpkgs { + config.allowUnfree = true; + system = "x86_64-linux"; + inherit overlays; + }; + in + home-manager.lib.homeManagerConfiguration { + inherit pkgs; + modules = [ + ./hm/arch.nix + ./hm/standalone.nix + # ./hm/modules/agda.nix + # ./hm/modules/emacs.nix + ./hm/modules/neovim.nix + # ./hm/modules/kakoune.nix + # ./hm/modules/idris2.nix + ./hm/. + nix-doom-emacs.hmModule + { + home.username = "auscyber"; + home.homeDirectory = "/home/auscyber"; + } + ]; + }; + }; + + }; +} diff --git a/fonts/Fira Code Regular Nerd Font Complete Mono Windows Compatible.ttf b/fonts/Fira Code Regular Nerd Font Complete Mono Windows Compatible.ttf deleted file mode 100755 index 9b14763ea..000000000 Binary files a/fonts/Fira Code Regular Nerd Font Complete Mono Windows Compatible.ttf and /dev/null differ diff --git a/fonts/Fira Code Regular Nerd Font Complete Mono.ttf b/fonts/Fira Code Regular Nerd Font Complete Mono.ttf deleted file mode 100755 index 76074f842..000000000 Binary files a/fonts/Fira Code Regular Nerd Font Complete Mono.ttf and /dev/null differ diff --git a/fonts/Fira Code Regular Nerd Font Complete Windows Compatible.ttf b/fonts/Fira Code Regular Nerd Font Complete Windows Compatible.ttf deleted file mode 100755 index cf1819c51..000000000 Binary files a/fonts/Fira Code Regular Nerd Font Complete Windows Compatible.ttf and /dev/null differ diff --git a/fonts/Fira Code Regular Nerd Font Complete.ttf b/fonts/Fira Code Regular Nerd Font Complete.ttf deleted file mode 100755 index b19b2f8dc..000000000 Binary files a/fonts/Fira Code Regular Nerd Font Complete.ttf and /dev/null differ diff --git a/fonts/Hasklug Bold Italic Nerd Font Complete.otf b/fonts/Hasklug Bold Italic Nerd Font Complete.otf deleted file mode 100755 index e72ccd72c..000000000 Binary files a/fonts/Hasklug Bold Italic Nerd Font Complete.otf and /dev/null differ diff --git a/fonts/Hasklug Bold Nerd Font Complete.otf b/fonts/Hasklug Bold Nerd Font Complete.otf deleted file mode 100755 index 44a36f747..000000000 Binary files a/fonts/Hasklug Bold Nerd Font Complete.otf and /dev/null differ diff --git a/fonts/Hasklug Italic Nerd Font Complete.otf b/fonts/Hasklug Italic Nerd Font Complete.otf deleted file mode 100755 index 37e4dba2a..000000000 Binary files a/fonts/Hasklug Italic Nerd Font Complete.otf and /dev/null differ diff --git a/fonts/Hasklug Nerd Font Complete.otf b/fonts/Hasklug Nerd Font Complete.otf deleted file mode 100755 index e6e9d6c53..000000000 Binary files a/fonts/Hasklug Nerd Font Complete.otf and /dev/null differ diff --git a/fonts/Roboto Mono Bold Nerd Font Complete.ttf b/fonts/Roboto Mono Bold Nerd Font Complete.ttf deleted file mode 100755 index 57594bc68..000000000 Binary files a/fonts/Roboto Mono Bold Nerd Font Complete.ttf and /dev/null differ diff --git a/fonts/Roboto Mono Medium Nerd Font Complete.ttf b/fonts/Roboto Mono Medium Nerd Font Complete.ttf deleted file mode 100755 index 2cdcbd590..000000000 Binary files a/fonts/Roboto Mono Medium Nerd Font Complete.ttf and /dev/null differ diff --git a/fonts/Roboto Mono Nerd Font Complete.ttf b/fonts/Roboto Mono Nerd Font Complete.ttf deleted file mode 100755 index c1bf289ea..000000000 Binary files a/fonts/Roboto Mono Nerd Font Complete.ttf and /dev/null differ diff --git a/fonts/codicon.ttf b/fonts/codicon.ttf deleted file mode 100755 index ae1034e79..000000000 Binary files a/fonts/codicon.ttf and /dev/null differ diff --git a/nixos-config/hm/arch.nix b/hm/arch.nix similarity index 77% rename from nixos-config/hm/arch.nix rename to hm/arch.nix index 4c4ffb550..fbbd5e86f 100755 --- a/nixos-config/hm/arch.nix +++ b/hm/arch.nix @@ -1,12 +1,10 @@ -{ - config, - pkgs, - system, - lib, - ... +{ config +, pkgs +, system +, lib +, ... }: { - nixpkgs.config.allowUnfree = true; targets.genericLinux.enable = true; home.packages = with pkgs; [ discord diff --git a/nixos-config/hm/default.nix b/hm/default.nix similarity index 78% rename from nixos-config/hm/default.nix rename to hm/default.nix index 57cd5875c..3e878e228 100755 --- a/nixos-config/hm/default.nix +++ b/hm/default.nix @@ -9,7 +9,7 @@ config = { home.stateVersion = "23.11"; nix = { - # package = pkgs.nixUnstable; + # package = pkgs.nixVersions.latest; settings = { experimental-features = [ "nix-command" @@ -17,7 +17,8 @@ ]; }; }; - manual.manpages.enable = false; + home.shell.enableZshIntegration = true; + manual.manpages.enable = true; programs.zsh.enable = true; programs = { command-not-found.enable = true; @@ -42,14 +43,19 @@ programs.eza = { enable = true; git = true; - icons = true; + icons = "auto"; enableZshIntegration = true; }; home.packages = with pkgs; [ + devenv + agenix shellify ripgrep nil - rnix-lsp + nh + vim + nil + neovim nixfmt-rfc-style starship treefmt @@ -57,24 +63,24 @@ ]; home.file = { ".local/bin/fetch" = { - source = ../../fetch; + source = ../fetch; }; ".config/nvim" = { - source = ../../.config/nvim; + source = ../.config/nvim; recursive = true; }; ".config/wezterm" = { - source = ../../.config/wezterm; + source = ../.config/wezterm; recursive = true; }; ".config/wezterm/lume.lua" = { - source = ../../libs/lume.lua; + source = ../libs/lume.lua; }; ".config/wezterm/fennel.lua" = { - source = ../../libs/fennel.lua; + source = ../libs/fennel.lua; }; ".config/starship.toml" = { - source = ../../.config/starship.toml; + source = ../.config/starship.toml; }; }; diff --git a/nixos-config/hm/doom.d/config.el b/hm/doom.d/config.el similarity index 100% rename from nixos-config/hm/doom.d/config.el rename to hm/doom.d/config.el diff --git a/nixos-config/hm/doom.d/init.el b/hm/doom.d/init.el similarity index 100% rename from nixos-config/hm/doom.d/init.el rename to hm/doom.d/init.el diff --git a/nixos-config/hm/doom.d/packages.el b/hm/doom.d/packages.el similarity index 100% rename from nixos-config/hm/doom.d/packages.el rename to hm/doom.d/packages.el diff --git a/nixos-config/hm/home.nix b/hm/home.nix similarity index 100% rename from nixos-config/hm/home.nix rename to hm/home.nix diff --git a/hm/hyprland.nix b/hm/hyprland.nix new file mode 100644 index 000000000..541641aad --- /dev/null +++ b/hm/hyprland.nix @@ -0,0 +1,6 @@ +{config,pkgs,...}: +{ + programs.kitty.enable = true; # required for the default Hyprland config + wayland.windowManager.hyprland.enable = true; # enable Hyprland + +} diff --git a/nixos-config/hm/install.sh b/hm/install.sh similarity index 100% rename from nixos-config/hm/install.sh rename to hm/install.sh diff --git a/nixos-config/hm/laptop.nix b/hm/laptop.nix similarity index 64% rename from nixos-config/hm/laptop.nix rename to hm/laptop.nix index 2f0bc2294..1a6271eeb 100755 --- a/nixos-config/hm/laptop.nix +++ b/hm/laptop.nix @@ -1,13 +1,11 @@ -{ - config, - pkgs, - system, - lib, - ... +{ config +, pkgs +, system +, lib +, ... }: { - nixpkgs.config.allowUnfree = true; targets.genericLinux.enable = true; home.packages = with pkgs; [ discord diff --git a/hm/mac.nix b/hm/mac.nix new file mode 100755 index 000000000..2b9be15f0 --- /dev/null +++ b/hm/mac.nix @@ -0,0 +1,381 @@ +# home.nix + +{ config, pkgs, inputs, ... }: + +{ + + # Home Manager needs a bit of information about you and the paths it should + # manage. + + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + + # The home.packages option allows you to install Nix packages into your + # environment. + # # Adds the 'hello' command to your environment. It prints a friendly + # # "Hello, world!" when run. + # pkgs.hello + + # # It is sometimes useful to fine-tune packages, for example, by applying + # # overrides. You can do that directly here, just don't forget the + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of + # # fonts? + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) + + # # You can also create simple shell scripts directly inside your + # # configuration. For example, this adds a command 'my-hello' to your + # # environment: + # (pkgs.writeShellScriptBin "my-hello" '' + # echo "Hello, ${config.home.username}!" + # '') + # programs.ghostty.package = pkgs.nur.repos.DimitarNestorov.ghostty; + + home.packages = with pkgs; + [ + nodejs + desktoppr + vscode + pandoc + discord + spotify + texliveFull + # wezterm + zotero + gnupg + prismlauncher + virt-manager + mupdf +# (agda.withPackages +# (p: [ +# p.standard-library +# ])) + ]; + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + home.file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + + # You can also manage environment variables but you will have to manually + services.espanso = { + enable = true; + matches = { + french = { + matches = [ + + { + trigger = "e'"; + replace = "é"; + } + + { + trigger = "e`"; + replace = "è"; + } + + { + trigger = "e^"; + replace = "ê"; + } + + { + trigger = "e:"; + replace = "ë"; + } + + { + trigger = "o^"; + replace = "ô"; + } + + { + trigger = "a`"; + replace = "à"; + } + + { + trigger = "a^"; + replace = "â"; + } + + { + trigger = "i^"; + replace = "î"; + } + + { + trigger = "i:"; + replace = "ï"; + } + + { + trigger = "u`"; + replace = "ù"; + } + + { + trigger = "u^"; + replace = "û"; + } + + { + trigger = "u:"; + replace = "ü"; + } + + { + trigger = "oe"; + replace = "œ"; + } + + { + trigger = "ae"; + replace = "æ"; + } + + { + trigger = "y:"; + replace = "ÿ"; + } + + { + trigger = "c,"; + replace = "ç"; + } + + { + trigger = "E'"; + replace = "É"; + } + + { + trigger = "E`"; + replace = "È"; + } + + { + trigger = "E^"; + replace = "Ê"; + } + + { + trigger = "E:"; + replace = "Ë"; + } + + { + trigger = "O^"; + replace = "Ô"; + } + + { + trigger = "A`"; + replace = "À"; + } + + { + trigger = "A^"; + replace = "Â"; + } + + { + trigger = "I^"; + replace = "Î"; + } + + { + trigger = "I:"; + replace = "Ï"; + } + + { + trigger = "U`"; + replace = "Ù"; + } + + { + trigger = "U^"; + replace = "Û"; + } + + { + trigger = "U:"; + replace = "Ü"; + } + + { + trigger = "OE"; + replace = "Œ"; + } + + { + trigger = "AE"; + replace = "Æ"; + } + + { + trigger = "Y:"; + replace = "Ÿ"; + } + + { + trigger = "C,"; + replace = "Ç"; + } + ]; + }; + }; + }; +services.skhd = { + enable = true; + + config = + let + input = { + "cmd + alt - s " = "yabai -m window --toggle spotify || open -a Spotify "; +"cmd + alt - d " = " yabai -m window --toggle discord || open -a Discord"; + # focus window + "alt - h" = " yabai -m window --focus west"; + + # swap managed window + "shift + alt - h " = "yabai -m window --swap north"; + + # move managed window + "shift + cmd - h " = "yabai -m window --warp east"; + + # balance size of windows + "shift + alt - 0 " = "yabai -m space --balance"; + + # make floating window fill screen + "shift + alt - up " = "yabai -m window --grid 1:1:0:0:1:1"; + + # make floating window fill left-half of screen + "shift + alt - left " = "yabai -m window --grid 1:2:0:0:1:1"; + + # create desktop, move window and follow focus - uses jq for parsing json (brew install jq) + "shift + cmd - n" = ''yabai -m space --create && \ + index="$(yabai -m query --spaces --display | jq 'map(select(."is-native-fullscreen" == false))[-1].index')" && \ + yabai -m window --space "''${index}" && \ + yabai -m space --focus "''${index}" + ''; + + # fast focus desktop + "cmd + alt - x " = " yabai -m space --focus recent"; + "cmd + alt - 1 " = " yabai -m space --focus 1"; + + # send window to desktop and follow focus + # shift + cmd - z : yabai -m window --space next; yabai -m space --focus next + # shift + cmd - 2 : yabai -m window --space 2; yabai -m space --focus 2 + + # focus monitor + "ctrl + alt - z " = " yabai -m display --focus prev"; + "ctrl + alt - 3 " = " yabai -m display --focus 3"; + + # send window to monitor and follow focus + # ctrl + cmd - c : yabai -m window --display next; yabai -m display --focus next + # ctrl + cmd - 1 : yabai -m window --display 1; yabai -m display --focus 1 + + # move floating window + "shift + ctrl - a " = " yabai -m window --move rel:-20:0"; + "shift + ctrl - s " = " yabai -m window --move rel:0:20"; + + # increase window size + "shift + alt - a " = " yabai -m window --resize left:-20:0"; + "shift + alt - w " = " yabai -m window --resize top:0:-20"; + + # decrease window size + "shift + cmd - s " = " yabai -m window --resize bottom:0:-20"; + "shift + cmd - w " = " yabai -m window --resize top:0:20"; + + # set insertion point in focused container + "ctrl + alt - h " = " yabai -m window --insert west"; + + # toggle window zoom + "alt - d " = " yabai -m window --toggle zoom-parent"; + "alt - f " = " yabai -m window --toggle zoom-fullscreen"; + + # toggle window split type + "alt - e " = " yabai -m window --toggle split"; + + # float / unfloat window and center on screen + "alt - t " = " yabai -m window --toggle float --grid 4:4:1:1:2:2"; + + # toggle sticky(+float), picture-in-picture + "alt - p " = " yabai -m window --toggle sticky --toggle pip"; + }; + attibutes = builtins.attrNames input; + rows = map (v: "${v} : ${builtins.getAttr v input}") attibutes; + in + builtins.concatStringsSep "\n" rows; + + }; + services.yabai = { +enableScriptingAddition = true; + enable = true; +config = { + focus_follows_mouse = "off"; + mouse_follows_focus = "off"; + window_placement = "second_child"; + window_opacity = "off"; + layout = "bsp"; + top_padding = 10; + bottom_padding = 10; + left_padding = 10; + right_padding = 10; + window_gap = 10; + }; + extraConfig = '' + yabai -m signal --add app='^Ghostty$' event=window_created action='yabai -m space --layout bsp' + yabai -m signal --add app='^Ghostty$' event=window_destroyed action='yabai -m space --layout bsp' + yabai -m rule --add app="^Spotify$" scratchpad=spotify grid=11:11:1:1:9:9 + yabai -m rule --add app="^Discord$" title!="^Discord Updater$" scratchpad=discord grid=11:11:1:1:9:9 + ''; + + }; +targets.darwin.defaults.NSGlobalDomain = { + AppleInterfaceStyle = "Dark"; # dark mode + AppleShowAllFiles = true; + ApplePressAndHoldEnabled = false; # enable press and hold + + # If you press and hold certain keyboard keys when in a text area, the key’s character begins to repeat. + # This is very useful for vim users, they use `hjkl` to move cursor. + # sets how long it takes before it starts repeating. + InitialKeyRepeat = 10; # normal minimum is 15 (225 ms), maximum is 120 (1800 ms) + # sets how fast it repeats once it starts. + KeyRepeat = 3; # normal minimum is 2 (30 ms), maximum is 120 (1800 ms) + }; + # source + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/davish/etc/profile.d/hm-session-vars.sh + # + # if you don't want to manage your shell through Home Manager. + home.activation = { + background = '' + run ${pkgs.desktoppr}/bin/desktoppr all ${config.stylix.image} + ''; + + }; + home.sessionVariables = { + # EDITOR = "emacs"; + }; + + # Let Home Manager install and manage itself. +} diff --git a/hm/modules/.DS_Store b/hm/modules/.DS_Store new file mode 100644 index 000000000..5008ddfcf Binary files /dev/null and b/hm/modules/.DS_Store differ diff --git a/nixos-config/hm/modules/1password.nix b/hm/modules/1password.nix similarity index 100% rename from nixos-config/hm/modules/1password.nix rename to hm/modules/1password.nix diff --git a/nixos-config/hm/modules/agda.nix b/hm/modules/agda.nix similarity index 100% rename from nixos-config/hm/modules/agda.nix rename to hm/modules/agda.nix diff --git a/hm/modules/desktop.nix b/hm/modules/desktop.nix new file mode 100644 index 000000000..4625cffe8 --- /dev/null +++ b/hm/modules/desktop.nix @@ -0,0 +1,6 @@ +{ pkgs, config, ... }: { + + home.packages = with pkgs; [ prismlauncher ]; + + +} diff --git a/nixos-config/hm/modules/emacs.nix b/hm/modules/emacs.nix similarity index 100% rename from nixos-config/hm/modules/emacs.nix rename to hm/modules/emacs.nix diff --git a/nixos-config/hm/modules/idris2.nix b/hm/modules/idris2.nix similarity index 100% rename from nixos-config/hm/modules/idris2.nix rename to hm/modules/idris2.nix diff --git a/nixos-config/hm/modules/kakoune.nix b/hm/modules/kakoune.nix similarity index 100% rename from nixos-config/hm/modules/kakoune.nix rename to hm/modules/kakoune.nix diff --git a/nixos-config/hm/modules/neovim.nix b/hm/modules/neovim.nix similarity index 100% rename from nixos-config/hm/modules/neovim.nix rename to hm/modules/neovim.nix diff --git a/nixos-config/hm/modules/polybar.nix b/hm/modules/polybar.nix similarity index 100% rename from nixos-config/hm/modules/polybar.nix rename to hm/modules/polybar.nix diff --git a/nixos-config/hm/modules/zotero.nix b/hm/modules/zotero.nix similarity index 100% rename from nixos-config/hm/modules/zotero.nix rename to hm/modules/zotero.nix diff --git a/nixos-config/hm/modules/zsh.nix b/hm/modules/zsh.nix similarity index 91% rename from nixos-config/hm/modules/zsh.nix rename to hm/modules/zsh.nix index 3aca92d0a..5ae4a9821 100755 --- a/nixos-config/hm/modules/zsh.nix +++ b/hm/modules/zsh.nix @@ -7,8 +7,9 @@ }: { programs.eza.enable = true; + home.packages = with pkgs; [ bat] ; home.file."Music/Phoebe/lyricslist" = { - source = ../../../phoebelyrics/lyricslist; + source = ../../phoebelyrics/lyricslist; }; programs.zsh = { enable = true; @@ -29,11 +30,10 @@ WLR_NO_HARDWARE_CURSORS = 1; }; - plugins = ( - builtins.map + plugins = builtins.map (package: { name = package.pname; - src = package.src; + inherit (package) src; }) ( with pkgs; @@ -44,12 +44,12 @@ zsh-nix-shell zsh-syntax-highlighting ] - ) - ); + ); shellAliases = { ghc = "stack exec -- ghc"; fzf = "fzf --reverse --height 40%"; vim = "nvim"; + cat = "bat"; e = "vim"; #alias ng="nvim -c ':Neogit'" ls = "exa --icons --git"; diff --git a/nixos-config/hm/nixos.nix b/hm/nixos.nix similarity index 94% rename from nixos-config/hm/nixos.nix rename to hm/nixos.nix index f2849c636..1d9287a0d 100755 --- a/nixos-config/hm/nixos.nix +++ b/hm/nixos.nix @@ -1,15 +1,17 @@ -conf@{ - config, - pkgs, - system, - lib, - ... +conf@{ config +, pkgs +, system +, lib +, ... }: let impConf = fil: import fil conf; in rec { + stylix = { + targets.kde.enable = true; + }; # imports = [ ./picom.nix ]; programs = { git = { @@ -63,10 +65,9 @@ rec { with pkgs; [ st - ((pkgs.gradleGen.override { - java = jdk8; - }).gradle_latest - ) + (pkgs.gradleGen.override { + java = jdk8; + }).gradle_latest rclone neovim-nightly firefox @@ -126,7 +127,7 @@ rec { gnome.gnome-keyring gnome.nautilus eww - wezterm + #wezterm zoom-us file mitscheme @@ -141,7 +142,7 @@ rec { #my-xmonad haskell-language-server ]) - ++ ([ + ++ [ (pkgs.haskellPackages.ghcWithPackages ( pk: with pk; [ microlens-th @@ -153,7 +154,7 @@ rec { xmonad ] )) - ]) + ] ++ (with nodePackages; [ p3x-onenote yarn diff --git a/nixos-config/hm/picom.nix b/hm/picom.nix similarity index 100% rename from nixos-config/hm/picom.nix rename to hm/picom.nix diff --git a/hm/standalone.nix b/hm/standalone.nix new file mode 100644 index 000000000..031495381 --- /dev/null +++ b/hm/standalone.nix @@ -0,0 +1,6 @@ +{ config +, pkg +, ... +}: { + nix.package = pkgs.nixVersions.latest; +} diff --git a/hm/term.nix b/hm/term.nix new file mode 100644 index 000000000..d2bb08602 --- /dev/null +++ b/hm/term.nix @@ -0,0 +1,50 @@ +{ config +, nixpkgs +, ... +}: { + + programs.ghostty = { + + enable = true; + themes = { + pink_ocean = { + + foreground = "d0d0d0"; + cursor-color = "eeeeee"; + selection-background = "005f5f"; + selection-foreground = "eeeeee"; + palette = [ + "0=#080808" + "1=#ff5f5f" + "2=#87d7af" + "3=#d7d787" + "4=#5fafd7" + "5=#afafff" + "6=#5fd7d7" + "7=#dadada" + "8=#8a8a8a" + "9=#d75f5f" + "10=#afd7af" + "11=#d7d7af" + "12=#87afd7" + "13=#afafd7" + "14=#87d7d7" + "14=#dadada" + ]; + background = "202020"; + + }; + + + + + }; + settings = { + macos-icon = "paper"; + theme = "pink_ocean"; + background-opacity = 0.8; + font-size = 15; + font-family = "Hasklug Nerd Font"; + }; + }; +} diff --git a/nixos-config/hm/ui.nix b/hm/ui.nix similarity index 56% rename from nixos-config/hm/ui.nix rename to hm/ui.nix index f8a630600..f2e21ab23 100755 --- a/nixos-config/hm/ui.nix +++ b/hm/ui.nix @@ -4,24 +4,21 @@ let onePassPath = "~/.1password/agent.sock"; in { - nixpkgs.config.allowUnfree = true; - targets.genericLinux.enable = true; + # targets.genericLinux.enable = true; home.packages = with pkgs; [ + #input-leap discord - wezterm + # wezterm spotify # rnix-lsp - (polybar.override { - pulseSupport = true; - iwSupport = true; - githubSupport = true; - }) - google-chrome - + # beeper + # google-chrome + # thunderbird ]; - programs._1password.enable = true; + + # programs._1password.enable = true; programs.ssh = { - enable = true; + enable = false; extraConfig = '' Host * IdentityAgent ${onePassPath} diff --git a/hm/yabai.nix b/hm/yabai.nix new file mode 100644 index 000000000..c596454c1 --- /dev/null +++ b/hm/yabai.nix @@ -0,0 +1,130 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.yabai; + + toYabaiConfig = opts: + concatStringsSep "\n" (mapAttrsToList + (p: v: "yabai -m config ${p} ${toString v}") + opts); + + configFile = mkIf (cfg.config != { } || cfg.extraConfig != "") + "${pkgs.writeScript "yabairc" ( + (if (cfg.config != {}) + then "${toYabaiConfig cfg.config}" + else "") + + optionalString (cfg.extraConfig != "") ("\n" + cfg.extraConfig + "\n"))}"; +in + +{ + options = with types; { + services.yabai.enable = mkOption { + type = bool; + default = false; + description = "Whether to enable the yabai window manager."; + }; + + services.yabai.package = mkOption { + type = path; + default = pkgs.yabai; + description = "The yabai package to use."; + }; + + services.yabai.enableScriptingAddition = mkOption { + type = bool; + default = false; + description = '' + Whether to enable yabai's scripting-addition. + SIP must be disabled for this to work. + ''; + }; + services.yabai.errorLogFile = lib.mkOption { + type = with lib.types; nullOr (either path str); + defaultText = lib.literalExpression "\${config.home.homeDirectory}/Library/Logs/yabai/err.log"; + example = "/Users/khaneliman/Library/Logs/yabai.log"; + description = "Absolute path to log all stderr output."; + }; + + services.yabai.outLogFile = lib.mkOption { + type = with lib.types; nullOr (either path str); + defaultText = lib.literalExpression "\${config.home.homeDirectory}/Library/Logs/yabai/out.log"; + example = "/Users/khaneliman/Library/Logs/yabai.log"; + description = "Absolute path to log all stdout output."; + }; + + services.yabai.config = mkOption { + type = attrs; + default = { }; + example = literalExpression '' + { + focus_follows_mouse = "autoraise"; + mouse_follows_focus = "off"; + window_placement = "second_child"; + window_opacity = "off"; + top_padding = 36; + bottom_padding = 10; + left_padding = 10; + right_padding = 10; + window_gap = 10; + } + ''; + description = '' + Key/Value pairs to pass to yabai's 'config' domain, via the configuration file. + ''; + }; + + services.yabai.extraConfig = mkOption { + type = lines; + default = ""; + example = literalExpression '' + yabai -m rule --add app='System Preferences' manage=off + ''; + description = "Extra arbitrary configuration to append to the configuration file"; + }; + }; + + config = lib.mkMerge [ + (mkIf (cfg.enable) { + assertions = [ + (lib.hm.assertions.assertPlatform "services.yabai" pkgs lib.platforms.darwin) + ]; + home.packages = [ cfg.package ]; + + launchd.agents.yabai = { + enable = true; + config = { + ProcessType = "Interactive"; + ProgramArguments = [ "${cfg.package}/bin/yabai" ] + ++ optionals (cfg.config != { } || cfg.serviceConfig.extraConfig != "") [ "-c" configFile ]; + EnvironmentVariables.PATH = "${cfg.package}/bin:/usr/bin:/bin:/usr/sbin:/sbin"; + KeepAlive = true; + RunAtLoad = true; + StandardErrorPath = cfg.errorLogFile; + StandardOutPath = cfg.outLogFile; + + }; + + }; + services.yabai = { + errorLogFile = lib.mkOptionDefault "${config.home.homeDirectory}/Library/Logs/yabai/yabai.err.log"; + outLogFile = lib.mkOptionDefault "${config.home.homeDirectory}/Library/Logs/yabai/yabai.out.log"; + }; + }) + + + # TODO: [@cmacrae] Handle removal of yabai scripting additions + (mkIf (cfg.enableScriptingAddition) { + launchd.agents.yabai-sa = { + config.UserName = "root"; + config.ProgramArguments = ["${cfg.package}/bin/yabai" "--load-sa"]; + config.EnvironmentVariables.Path = "${cfg.package}/bin:/usr/bin:/bin:/usr/sbin:/sbin"; + config.RunAtLoad = true; + config.KeepAlive.SuccessfulExit = false; + }; + + + }) + ]; +} diff --git a/nixos-config/modules/1password.nix b/modules/1password.nix similarity index 100% rename from nixos-config/modules/1password.nix rename to modules/1password.nix diff --git a/nixos-config/modules/common.nix b/modules/common.nix similarity index 78% rename from nixos-config/modules/common.nix rename to modules/common.nix index c52b16fb8..cb011bf1a 100755 --- a/nixos-config/modules/common.nix +++ b/modules/common.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { @@ -28,15 +27,20 @@ programs.zsh.enable = true; nix = { # Binary Cache for Haskell.nix - settings.trusted-public-keys = [ - "iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo=" - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - ]; - settings.substituters = [ - "https://iohk.cachix.org" + settings = { + substituters = [ "https://nix-community.cachix.org" - "https://cache.nixos.org" + "https://iohk.cachix.org" + "https://cache.nixos.org" + "https://devenv.cachix.org" ]; + trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo=" + "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=" + ]; + }; + package = pkgs.nixVersions.latest; extraOptions = '' diff --git a/modules/hm.nix b/modules/hm.nix new file mode 100644 index 000000000..9ec176232 --- /dev/null +++ b/modules/hm.nix @@ -0,0 +1,12 @@ +{ + inputs, + config, + pkgs, + ... +}: +{ + home-manager.useGlobalPkgs = true; + home-manager.sharedModules = [ ../hm/default.nix ]; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; +} diff --git a/nixos-config/flake.nix b/nixos-config/flake.nix deleted file mode 100755 index caa5ce2bc..000000000 --- a/nixos-config/flake.nix +++ /dev/null @@ -1,282 +0,0 @@ -{ - description = "AusCyber nix flake config"; - inputs = { - #Non flakes - picom = { - url = "github:ibhagwan/picom"; - flake = false; - }; - - #flakes - agenix.url = "github:ryantm/agenix"; - darwin.url = "github:LnL7/nix-darwin"; - darwin.inputs.nixpkgs.follows = "unstable"; - eww.url = "github:elkowar/eww"; - _1password-shell-plugins.url = "github:1Password/shell-plugins"; - rust-overlay.url = "github:oxalica/rust-overlay"; - nix-doom-emacs.url = "github:vlaci/nix-doom-emacs"; - idris2-pkgs.url = "github:claymager/idris2-pkgs"; - local-nixpkgs.url = "github:auscyberman/nixpkgs"; - nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; - - home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - arion.url = "github:hercules-ci/arion"; - - #idris2-pkgs.url = "github:claymager/idris2-pkgs"; - idris2.url = "github:idris-lang/Idris2"; - rnix.url = "github:nix-community/rnix-lsp"; - neovim.url = "github:nix-community/neovim-nightly-overlay"; - nixos-hardware.url = "github:NixOS/nixos-hardware/master"; - - nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; - emacs.url = "github:/nix-community/emacs-overlay"; - flake-utils.url = "github:numtide/flake-utils"; - #nixpkgs - unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - - nixpkgs.follows = "unstable"; - - }; - outputs = - inputs@{ self - , flake-utils - , nixpkgs - , home-manager - , neovim - , picom - , rnix - , idris2 - , rust-overlay - , eww - , nixos-mailserver - , agenix - , nix-doom-emacs - , darwin - , idris2-pkgs - , nixos-wsl - , arion - , ... - }: - with nixpkgs.lib; - let - config = { - allowBroken = true; - allowUnfree = true; - }; - filterNixFiles = k: v: v == "regular" && hasSuffix ".nix" k; - importNixFiles = - path: - (lists.forEach ( - mapAttrsToList (name: _: path + ("/" + name)) (filterAttrs filterNixFiles (builtins.readDir path)) - )) - import; - overlays = [ - inputs.emacs.overlays.default - rust-overlay.overlays.default - ( - final: prev: - let - system = final.stdenv.hostPlatform.system; - in - { - - eww = eww.packages.${system}.eww; - rnix-lsp = rnix.packages."${system}".rnix-lsp; - picom = ( - prev.picom.overrideAttrs (attrs: { - src = picom; - }) - ); - # idris2 = idris2.packages."${system}".idris2; - # wezterm = (masterp {inherit system;}).wezterm; - # discord = (import master { inherit system config; }).discord; - #wezterm = prev.wezterm.overrideAttrs (attrs: { - # src = inputs.wezterm; - # cargoDeps = attrs.cargoDeps.overrideAttrs (cattrs: { - # src = inputs.wezterm; - # outputHash = - # "sha256-iNv9JEu1aQBxhwlugrl2GdoSvF9cYgM6TXBqamrPjFo="; - # }); - #}); - - idris2 = final.idris2Pkgs.idris2; - idris2Pkgs = idris2-pkgs.packages."${system}"; - # minecraft-server = (import master { inherit system config; }).minecraft-server; - } - ) - neovim.overlays.default - ]; - - # ++ (importNixFiles ./overlays); - - in - ( - { - darwinConfigurations = { - "Chriss-Mac-mini" = import ./systems/macmini { - modules = [ ./modules/common.nix ]; - home-manager-modules = [ - inputs._1password-shell-plugins.hmModules.default - ./hm/modules/zsh.nix - ./hm/modules/neovim.nix - ./hm/. - ./hm/mac.nix - ./hm/modules/1password.nix - ]; - inherit nixpkgs config overlays inputs darwin home-manager; - - }; - - "Ivys-MacBook-Pro" = import ./systems/macbook { - modules = [ ./modules/common.nix ]; - home-manager-modules = [ - inputs._1password-shell-plugins.hmModules.default - ./hm/modules/zsh.nix - ./hm/modules/neovim.nix - ./hm/. - ./hm/modules/zotero.nix - ./hm/mac.nix - ./hm/modules/1password.nix - ]; - inherit - nixpkgs - config - overlays - inputs - darwin - home-manager - ; - }; - }; - } - // (flake-utils.lib.eachDefaultSystem ( - system: - let - pkgs = import nixpkgs { - inherit system overlays; - }; - in - { - apps.nvim = flake-utils.lib.mkApp { - name = "nvim"; - drv = pkgs.neovim; - }; - } - )) - // { - nixosConfigurations = { - wsl-nixos = import ./systems/wsl-nixos { - modules = [ - nixos-wsl.nixosModules.default - home-manager.nixosModules.home-manager - ./modules/common.nix - ]; - home-manager-modules = [ - ./hm/. - ./hm/modules/neovim.nix - ./hm/modules/zsh.nix - ]; - inherit - nixpkgs - config - overlays - inputs - home-manager - ; - - }; - auspc = import ./systems/auspc { - modules = [ ./modules/common.nix ]; - home-manager-modules = [ - ./hm/. - ./hm/modules/neovim.nix - ./hm/ui.nix - ./hm/modules/zsh.nix - ]; - inherit - nixpkgs - config - overlays - inputs - agenix - home-manager - ; - }; - surfacelaptop = import ./systems/surfacelaptop { - home-manager-modules = [ - ./hm/. - ./hm/modules/neovim.nix - ./hm/ui.nix - ./hm/laptop.nix - ]; - modules = [ - inputs._1password-shell-plugins.hmModules.default - inputs.nixos-hardware.nixosModules.microsoft-surface-laptop-amd - home-manager.nixosModules.home-manager - ./modules/1password.nix - ./modules/common.nix - ]; - inherit - nixpkgs - config - overlays - inputs - agenix - ; - }; - - secondpc = import ./systems/secondpc { - modules = [ ./modules/common.nix arion.nixosModules.arion ]; - home-manager-modules = [ - #./hm/arch.nix - # ./hm/modules/agda.nix - # ./hm/modules/emacs.nix - ./hm/modules/neovim.nix - ./hm/modules/zsh.nix - # ./hm/modules/kakoune.nix - # ./hm/modules/idris2.nix - ./hm/. - ]; - inherit - nixpkgs - config - overlays - inputs - nixos-mailserver - home-manager - ; - }; - - }; - homeConfigurations.arch = - let - pkgs = import nixpkgs { - config.allowUnfree = true; - system = "x86_64-linux"; - inherit overlays; - }; - in - home-manager.lib.homeManagerConfiguration { - inherit pkgs; - modules = [ - ./hm/arch.nix - # ./hm/modules/agda.nix - # ./hm/modules/emacs.nix - ./hm/modules/neovim.nix - # ./hm/modules/kakoune.nix - # ./hm/modules/idris2.nix - ./hm/. - nix-doom-emacs.hmModule - { - home.username = "auscyber"; - home.homeDirectory = "/home/auscyber"; - } - ]; - }; - - } - ); -} diff --git a/nixos-config/hm/mac.nix b/nixos-config/hm/mac.nix deleted file mode 100755 index c9dc34926..000000000 --- a/nixos-config/hm/mac.nix +++ /dev/null @@ -1,68 +0,0 @@ -# home.nix - -{ config, pkgs, ... }: - -{ - - # Home Manager needs a bit of information about you and the paths it should - # manage. - - # This value determines the Home Manager release that your configuration is - # compatible with. This helps avoid breakage when a new Home Manager release - # introduces backwards incompatible changes. - # - # You should not change this value, even if you update Home Manager. If you do - # want to update the value, then make sure to first check the Home Manager - # release notes. - - # The home.packages option allows you to install Nix packages into your - # environment. - # # Adds the 'hello' command to your environment. It prints a friendly - # # "Hello, world!" when run. - # pkgs.hello - - # # It is sometimes useful to fine-tune packages, for example, by applying - # # overrides. You can do that directly here, just don't forget the - # # parentheses. Maybe you want to install Nerd Fonts with a limited number of - # # fonts? - # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) - - # # You can also create simple shell scripts directly inside your - # # configuration. For example, this adds a command 'my-hello' to your - # # environment: - # (pkgs.writeShellScriptBin "my-hello" '' - # echo "Hello, ${config.home.username}!" - # '') - - home.packages = with pkgs; [ ]; - # Home Manager is pretty good at managing dotfiles. The primary way to manage - # plain files is through 'home.file'. - home.file = { - # # Building this configuration will create a copy of 'dotfiles/screenrc' in - # # the Nix store. Activating the configuration will then make '~/.screenrc' a - # # symlink to the Nix store copy. - # ".screenrc".source = dotfiles/screenrc; - - # # You can also set the file content immediately. - # ".gradle/gradle.properties".text = '' - # org.gradle.console=verbose - # org.gradle.daemon.idletimeout=3600000 - # ''; - }; - - # You can also manage environment variables but you will have to manually - # source - # - # ~/.nix-profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # /etc/profiles/per-user/davish/etc/profile.d/hm-session-vars.sh - # - # if you don't want to manage your shell through Home Manager. - home.sessionVariables = { - # EDITOR = "emacs"; - }; - - # Let Home Manager install and manage itself. -} diff --git a/nixos-config/secrets/secrets.nix b/nixos-config/secrets/secrets.nix deleted file mode 100755 index 820ca16dd..000000000 --- a/nixos-config/secrets/secrets.nix +++ /dev/null @@ -1,10 +0,0 @@ -let - auscyber = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILeCdR16VYTNmoEekYk/b1sskC+trPx9tpOBJoKML17H willp@outlook.com.au"; - auspc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPyXyBMVHaVmR3f5gI3pQ+VWdMjHKPI9yR4/trIV+W/D root@auspc"; -in -{ - "spotify_api.age".publicKeys = [ - auscyber - auspc - ]; -} diff --git a/nixos-config/smb-secrets b/nixos-config/smb-secrets deleted file mode 100755 index 8e8425e05..000000000 --- a/nixos-config/smb-secrets +++ /dev/null @@ -1,2 +0,0 @@ -username=smb -password=samba1234 diff --git a/nixos-config/systems/macmini/default.nix b/nixos-config/systems/macmini/default.nix deleted file mode 100755 index 496d03879..000000000 --- a/nixos-config/systems/macmini/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - nixpkgs, - config, - overlays, - inputs, - home-manager, - darwin, - home-manager-modules, - modules, - ... -}: -darwin.lib.darwinSystem { - system = "aarch64-darwin"; - modules = modules ++ [ - ./configuration.nix - home-manager.darwinModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.ivypierlot = { - imports = home-manager-modules; - home.username = "ivypierlot"; - }; - nixpkgs = { inherit config overlays; }; - # Optionally, use home-manager.extraSpecialArgs to pass - # arguments to home.nix - } - ]; -} diff --git a/pink_ocean.yml b/pink_ocean.yml new file mode 100644 index 000000000..27af9776a --- /dev/null +++ b/pink_ocean.yml @@ -0,0 +1,26 @@ +system: "base16" +name: "Pink Ocean" +author: "Ivy Pierlot" +variant: "dark" +palette: + base00: "#080808" + base01: "#d0d0d0" + base02: "#005f5f" + + base03: "#8a8a8a" + base05: "#eeeeee" + base08: "#ff5f5f" + base0B: "#87d7af" + base0A: "#d7d787" + base0D: "#5fafd7" + base0E: "#afafff" + base0C: "#5fd7d7" + base05: "#dadada" + base08: "#d75f5f" + base0B: "#afd7af" + base0A: "#d7d7af" + base0D: "#87afd7" + base0E: "#afafd7" + base0C: "#87d7d7" + base07: "#dadada" + diff --git a/secrets/secrets.nix b/secrets/secrets.nix new file mode 100755 index 000000000..86a63f173 --- /dev/null +++ b/secrets/secrets.nix @@ -0,0 +1,17 @@ +let + auscyber = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILeCdR16VYTNmoEekYk/b1sskC+trPx9tpOBJoKML17H willp@outlook.com.au"; + auspc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPyXyBMVHaVmR3f5gI3pQ+VWdMjHKPI9yR4/trIV+W/D root@auspc"; + mac = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDWLBfISIzlyIXewHmETOnkiPI09bpqU1oywBvLoclWaettdNaP84NGmCRvADLc3DkWAzQo/WB4nVlEEQXD7kvcptnUC0ufyhH1su9yQYKYLRu01E9KzUmeIWrGTd6x+EcQ12qP4xaY3EjgJyLdZjZj0dlBtpubRWmlLiZ8Dz832hBsx/wL5F/4jgirwBJxvmnNDDbKRylwcMxwTIoyU1hzTZc5br9j4ZELomDLR6IChByLWLooZzrI8Hrws3DUdUhyD+mdrfhqOnL0lb/xlsI9wGJhoxaT3FkkKHb//HMRWth5RjO/ygGG1L/HMk9oyvfbF6oAX9l5b65TKLdMkePtsA+kyjfrjyGvQyfpv+HQi41yrMXzEeO5uY2vNQqgDuDrbF5jhyEJXDO7aERZVeByOXKCwfIb5Iv8peGkweL/ftQWnpi9ulq9SP3M9Xx1pdohUsuO51fIsnJnYE9tY6OOFvT4zbajJzkVRPIXNFV0ueg1M+e51uByICWCgzAnWJk="; +in +{ + "spotify_api.age".publicKeys = [ + auscyber + auspc + mac + ]; + "smb_secrets.age".publicKeys = [ + auscyber + auspc + mac + ]; +} diff --git a/secrets/smb_secrets.age b/secrets/smb_secrets.age new file mode 100644 index 000000000..d58dd92db --- /dev/null +++ b/secrets/smb_secrets.age @@ -0,0 +1,18 @@ +age-encryption.org/v1 +-> ssh-ed25519 9v/vwA uFrbKmyiWyK3TGxAT4qbw3TvHtBmILXXoUZDN2jUaw8 +SsQkSs6qocutiqjEwHFUuT0TnwEatJdF9xjM8+TW02E +-> ssh-ed25519 E/UTlQ fWpE3VYMQt5jOegBwRCqpwJ7zinXyorfqmfehTXJXwc +zNyvILUcqrw2oi9YWo240mzMNTbnRYir/CO9tHzvph0 +-> ssh-rsa Lca52g +YZ7JGG+3VtRw2EazFHhfwAG2uK83i08ByMSiwl2pleVeU1FjyAjCDZSMPicof1wq +ikKj1LyWJu5BuU37ctR4DzGBe+wMXeWYEAd7GysOl35hdP3cOmqyCKrn8qDkeyzw +ziOZL/hRkGzemuoYlXcGd1qHjrcRcZ0Mug2L3vNUeStGqXvxbjvMGyaS9G0mpBNF +3hzSEw/vUq88C8jobAfNRWUqyLviWkr9bd8ys1XeKztfP19/qwOgr2AfMdfMWXX5 +WDOpPacuWBk6ln4PXy9bOsnZsHz7TZ82I4qByQ7qPGax/LX9b2C51j1905hWGvVM +aSAVUP40O8T4TTjGe8ASf658CYo/QW0jhaecESV7S2shzLQX+3KNpUwgWNZ0I6dZ +qtoc4PpPhtWYlpOD6nLTt+U52ZudIAfvIqbyY2C+ThvjiWZCFor1qMhPgdPr3/M+ +XJjCGqRm6sSzk8SQZVSdjDtkgMXYj+ZKJwqd02WmnRfO8hCz4UOt9jTYlqpaeqX8 + +--- 6wLJSodlchqtLmneW9vDNRSfcG5dA895NURWvkA8p8Y +?yo=g\K+) +D۱#:NC~r_*(R[j \ No newline at end of file diff --git a/nixos-config/secrets/spotify_api.age b/secrets/spotify_api.age similarity index 100% rename from nixos-config/secrets/spotify_api.age rename to secrets/spotify_api.age diff --git a/smb-secrets b/smb-secrets new file mode 100755 index 000000000..8b1378917 --- /dev/null +++ b/smb-secrets @@ -0,0 +1 @@ + diff --git a/systems/auspc/alx-wol.nix b/systems/auspc/alx-wol.nix new file mode 100644 index 000000000..7367eb039 --- /dev/null +++ b/systems/auspc/alx-wol.nix @@ -0,0 +1,80 @@ +{ lib, stdenv, fetchurl, fetchpatch, kernel }: + +stdenv.mkDerivation rec { + pname = "alx-wol-dkms"; + version = "6"; + + srcs = { + alx_h = fetchurl { + url = "https://raw.githubusercontent.com/archlinux/linux/v6.1-arch1/drivers/net/ethernet/atheros/alx/alx.h"; + sha256 = "0ac6445e832c3413be3887917203699139ec05553270c5006b5a33ba5e2a158d"; + }; + ethtool_c = fetchurl { + url = "https://raw.githubusercontent.com/archlinux/linux/v6.1-arch1/drivers/net/ethernet/atheros/alx/ethtool.c"; + sha256 = "a0df2f5f93253a7dde775479142bf3eb209b5268ad124f200915736de7cf5063"; + }; + hw_c = fetchurl { + url = "https://raw.githubusercontent.com/archlinux/linux/v6.1-arch1/drivers/net/ethernet/atheros/alx/hw.c"; + sha256 = "bf9ac0fa98031523e05d5d62c08ee116fd4a437f66538c95eac18adda10ff89b"; + }; + hw_h = fetchurl { + url = "https://raw.githubusercontent.com/archlinux/linux/v6.1-arch1/drivers/net/ethernet/atheros/alx/hw.h"; + sha256 = "fcc0306b37382cf8e2f75eafb6bd8696a4a5e360110e5cfe800485f4eebe55aa"; + }; + main_c = fetchurl { + url = "https://raw.githubusercontent.com/archlinux/linux/v6.1-arch1/drivers/net/ethernet/atheros/alx/main.c"; + sha256 = "2bd9ee44c72a657007a9bbaef332b9435e949295773733d0ca96cea8a69e075f"; + }; + reg_h = fetchurl { + url = "https://raw.githubusercontent.com/archlinux/linux/v6.1-arch1/drivers/net/ethernet/atheros/alx/reg.h"; + sha256 = "88a23ab8e6fe814efe81910bd8806f5988d367a628458154edaebdf4ccbe4902"; + }; + patch_wol = fetchpatch { + url = "https://raw.githubusercontent.com/MarkWalters-dev/aur/master/alx-wol-dkms/0001-drivers-net-alx-Re-enable-WoL-functionality.patch"; + sha256 = "98f1ad3377a1b0a96dfe7b71eb6dedc0f9779033c59f5dc093b4a7779d270a89"; + }; + patch_version = fetchpatch { + url = "https://raw.githubusercontent.com/MarkWalters-dev/aur/master/alx-wol-dkms/0002-net-alx-Add-MODULE_VERSION-to-fix-dkms-override.patch"; + sha256 = "560783c1d0cd19859047360c317312f23cf1caabbd9d15aa101e98d3219da9a5"; + }; + }; + + sourceRoot = "."; + nativeBuildInputs = kernel.moduleBuildDependencies; + + # Prepare sources and apply patches + postPatch = '' + mkdir workdir + cd workdir + cp ${srcs.alx_h} ${srcs.ethtool_c} ${srcs.hw_c} ${srcs.hw_h} ${srcs.main_c} ${srcs.reg_h} . + + patch -p6 < ../${srcs.patch_wol} + patch -p6 < ../${srcs.patch_version} + ''; + + makeFlags = kernel.makeFlags ++ [ + "-C" + "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "M=$(pwd)/workdir" + ]; + + buildFlags = [ "modules" ]; + + installPhase = '' + local dest=$out/lib/modules/${kernel.modDirVersion}/extra + mkdir -p $dest + cp workdir/*.ko $dest + depmod -a ${kernel.modDirVersion} + ''; + + meta = with lib; { + description = "The alx kernel module with a patch enabling WoL applied"; + homepage = "https://bugzilla.kernel.org/show_bug.cgi?id=61651"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} + + + + diff --git a/nixos-config/systems/auspc/boot.nix b/systems/auspc/boot.nix similarity index 100% rename from nixos-config/systems/auspc/boot.nix rename to systems/auspc/boot.nix diff --git a/nixos-config/systems/auspc/configuration.nix b/systems/auspc/configuration.nix similarity index 76% rename from nixos-config/systems/auspc/configuration.nix rename to systems/auspc/configuration.nix index c2e2acb13..0668208a4 100755 --- a/nixos-config/systems/auspc/configuration.nix +++ b/systems/auspc/configuration.nix @@ -2,11 +2,10 @@ # your system. Help is available in the configuration.nix(5) man page, on # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { @@ -14,17 +13,51 @@ # Include the results of the hardware scan. ./hardware-configuration.nix ]; + services.tailscale.enable = true; + boot.supportedFilesystems = [ "ntfs" ]; + boot.kernelPackages = pkgs.linuxPackages_zen; + # boot.extraModulePackages = [ (config.boot.kernelPackages.callPackage ./alx-wol.nix { }) ]; + + + fileSystems."/mnt/hdd" = { + device = "/dev/disk/by-label/hdd"; + fsType = "lowntfs-3g"; + options = [ "uid=1000" "gid=100" "rw" "user" "exec" "umask=000" ]; + }; + fileSystems."/mnt/ssd2" = { + device = "/dev/disk/by-uuid/704821B848217DCA"; + fsType = "lowntfs-3g"; + options = [ "uid=1000" "gid=100" "rw" "user" "exec" "umask=000" ]; + }; + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = [ "auscyber" ]; + + virtualisation.libvirtd.enable = true; + + virtualisation.spiceUSBRedirection.enable = true; boot.kernelModules = [ "kvm-intel" ]; + #boot.extraModulePackages = [ (config.boot.kernel.callPackage ./alx-wol.nix { }) ]; # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; + boot.loader.systemd-boot.enable = lib.mkForce false; + #boot.loader.systemd-boot.enable = true; + + + boot.lanzaboote = { + enable = true; + pkiBundle = "/var/lib/sbctl"; + }; + boot.loader.efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot"; + }; networking.hostName = "auspc"; # Define your hostname. # Pick only one of the below networking options. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. - + programs.hyprland.enable = true; # Set your time zone. time.timeZone = "Australia/Melbourne"; @@ -37,13 +70,7 @@ powerOnBoot = true; }; services.blueman.enable = true; - hardware.nvidia = { - package = config.boot.kernelPackages.nvidiaPackages.stable; - modesetting.enable = true; - open = false; - powerManagement.enable = true; - nvidiaSettings = true; - }; + # Select internationalisation properties. i18n.defaultLocale = "en_AU.UTF-8"; @@ -53,6 +80,10 @@ # # Enable the X11 windowing system. # services.xserver.enable = true; + networking.interfaces.enp6s0.wakeOnLan = { + policy = [ "magic" "broadcast" "multicast" ]; + enable = true; + }; # networking.interfaces.enp6s0.useDHCP = true; @@ -76,10 +107,7 @@ # package = pkgs.pulseaudioFull; }; }; - hardware.graphics = { - enable = true; - extraPackages = with pkgs; [ mesa ]; - }; + # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; # security.wrappers = { @@ -94,6 +122,7 @@ # Define a user account. Don't forget to set a password with ‘passwd’. users.users.auscyber = { isNormalUser = true; + description = "Ivy"; shell = pkgs.zsh; extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. packages = with pkgs; [ @@ -103,6 +132,10 @@ # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ + google-chrome + #input-leap + vscode + sbctl vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. wget git @@ -122,7 +155,7 @@ # Enable the OpenSSH daemon. services.openssh.enable = true; - services.displayManager.defaultSession = "none+xmonad"; + services.displayManager.defaultSession = "plasma"; services.displayManager.autoLogin = { enable = true; user = "auscyber"; @@ -147,15 +180,15 @@ videoDrivers = [ "nvidia" ]; # videoDrivers = [ "nouveau" ]; - desktopManager.plasma5.enable = true; + desktopManager.plasma6.enable = true; displayManager.startx.enable = true; windowManager.awesome = { - enable = true; + enable = false; luaModules = with pkgs.luaPackages; [ luarocks ]; }; windowManager.xmonad = { - enable = true; + enable = false; extraPackages = haskellPackages: with haskellPackages; [ xmonad-contrib @@ -171,10 +204,13 @@ }; # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; + networking.firewall.allowedTCPPorts = [ 24800 ]; + # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. - # networking.firewall.enable = false; + networking.firewall.enable = true; + + + programs.hyprland.enable = true; # Copy the NixOS configuration file and link it from the resulting system # (/run/current-system/configuration.nix). This is useful in case you diff --git a/nixos-config/systems/auspc/default.nix b/systems/auspc/default.nix similarity index 72% rename from nixos-config/systems/auspc/default.nix rename to systems/auspc/default.nix index d59cf10f2..c9e205f28 100755 --- a/nixos-config/systems/auspc/default.nix +++ b/systems/auspc/default.nix @@ -1,28 +1,27 @@ -{ - nixpkgs, - config, - overlays, - inputs, - home-manager, - home-manager-modules, - modules, - ... +{ nixpkgs +, config +, overlays +, inputs +, home-manager +, home-manager-modules +, modules +, ... }: nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; system = "x86_64-linux"; modules = modules ++ [ ./configuration.nix ./hardware-configuration.nix + ./games.nix + ./graphics.nix #./../../modules/system/grub.nix #./boot.nix # ./mailserver.nix # ./minecraft.nix home-manager.nixosModules.home-manager { - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - users.auscyber = { + home-manager.users.auscyber = { imports = home-manager-modules; home.username = "auscyber"; home.sessionVariables = { @@ -30,7 +29,6 @@ nixpkgs.lib.nixosSystem { NIXFLAKE = "$HOME/dotfiles/nixos-config"; }; - }; }; nixpkgs = { inherit config overlays; }; diff --git a/systems/auspc/games.nix b/systems/auspc/games.nix new file mode 100644 index 000000000..b72df97ff --- /dev/null +++ b/systems/auspc/games.nix @@ -0,0 +1,15 @@ +{ config +, lib +, pkgs +, ... +}: { + programs.gamemode.enable = true; + programs.steam = { + enable = true; + extraCompatPackages = with pkgs; [ proton-ge-bin vkd3d-proton ]; + protontricks.enable = true; + gamescopeSession.enable = true; + + }; + +} diff --git a/systems/auspc/graphics.nix b/systems/auspc/graphics.nix new file mode 100644 index 000000000..eeecf8bad --- /dev/null +++ b/systems/auspc/graphics.nix @@ -0,0 +1,39 @@ +{ config +, lib +, pkgs +, ... +}: { + hardware.nvidia = { + package = config.boot.kernelPackages.nvidiaPackages.beta; + # fullCompositionPipeline = true; + modesetting.enable = true; + open = false; + powerManagement.enable = true; + powerManagement.finegrained = false; + nvidiaSettings = true; + gsp.enable = true; + }; + + hardware.graphics = { + enable = true; + enable32Bit = true; + extraPackages = with pkgs; [ mesa ]; + }; + boot.initrd.kernelModules = [ + "nvidia" + "nvidia_modeset" + "nvidia_uvm" + "nvidia_drm" + ]; + hardware.enableAllFirmware = true; + hardware.enableRedistributableFirmware = true; + + boot.kernelParams = [ + "nvidia-drm.modeset=1" + "nvidia.NVreg_UsePageAttributeTable=1" + + + ]; + + +} diff --git a/nixos-config/systems/auspc/hardware-configuration.nix b/systems/auspc/hardware-configuration.nix similarity index 86% rename from nixos-config/systems/auspc/hardware-configuration.nix rename to systems/auspc/hardware-configuration.nix index c32603f8b..59bc1fcd3 100755 --- a/nixos-config/systems/auspc/hardware-configuration.nix +++ b/systems/auspc/hardware-configuration.nix @@ -1,12 +1,11 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ - config, - lib, - pkgs, - modulesPath, - ... +{ config +, lib +, pkgs +, modulesPath +, ... }: { @@ -23,16 +22,9 @@ "sd_mod" ]; - boot.initrd.kernelModules = [ - "nvidia" - "nvidia_modeset" - "nvidia_uvm" - "nvidia_drm" - ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - boot.kernelParams = [ "nvidia-drm.modeset=1" ]; fileSystems."/" = { device = "/dev/disk/by-uuid/aa10e35d-2531-4b1d-9c1b-1f120963b444"; fsType = "ext4"; @@ -44,7 +36,7 @@ }; fileSystems."/boot" = { - device = "/dev/disk/by-uuid/E5A9-C9F3"; + device = "/dev/disk/by-uuid/832A-EFCE"; fsType = "vfat"; options = [ "fmask=0022" diff --git a/nixos-config/systems/macbook/configuration.nix b/systems/macbook/configuration.nix similarity index 67% rename from nixos-config/systems/macbook/configuration.nix rename to systems/macbook/configuration.nix index 1d2e66549..f8142b5f8 100755 --- a/nixos-config/systems/macbook/configuration.nix +++ b/systems/macbook/configuration.nix @@ -1,37 +1,44 @@ # darwin.nix -{ pkgs, ... }: +{ pkgs, config, ... }: { # List packages installed in system profile. To search by name, run: documentation.enable = true; - security.pam.enableSudoTouchIdAuth = true; + security.pam.services.sudo_local.touchIdAuth = true; + fonts.packages = with pkgs; (with nerd-fonts; [ hack roboto-mono ]); # $ nix-env -qaP | grep wget + system.primaryUser = "ivypierlot"; environment.systemPackages = with pkgs; [ vim nodejs vscode - wezterm + pandoc + # _1password + texliveFull + # wezterm zotero + qemu + utm gnupg prismlauncher virt-manager + # nixos-conf-editor ]; + stylix = { + enable = false; + image = ../../backgrounds/phoebebridgers-2.jpg; + }; nix.channel.enable = false; + nix.gc.automatic = true; # Auto upgrade nix package and the daemon service. - services.nix-daemon.enable = true; # nix.package = pkgs.nix; # Necessary for using flakes on this system. nix.distributedBuilds = true; - nix.buildMachines = [{ - hostName = "192.168.0.26"; - system = "x86_64-linux"; - protocol = "ssh"; - supportedFeatures = [ ]; - }]; + nix.linux-builder.enable = true; nix.settings = { experimental-features = "nix-command flakes"; @@ -44,7 +51,7 @@ # Used for backwards compatibility, please read the changelog before changing. # $ darwin-rebuild changelog system.stateVersion = 5; - + nix.enable = true; # The platform the configuration will be used on. nixpkgs.hostPlatform = "aarch64-darwin"; homebrew.enable = true; @@ -54,86 +61,87 @@ # 'zap': uninstalls all formulae(and related files) not listed in the generated Brewfile cleanup = "zap"; }; - homebrew.brews = [ "nowplaying-cli" ]; + homebrew.brews = [ "nowplaying-cli" ]; homebrew.casks = [ + "calibre" + "ollama" "beeper" "amethyst" "steam" "notion" "google-drive" - "spotify" + "zen@twilight" "arc" - "zen-browser" - "discord" + # "zen-browser" "affinity-designer" "affinity-publisher" "grammarly-desktop" - "visual-studio-code" "nitro-pdf-pro" + # "wezterm@nightly" "amethyst" - "1password" "plover" "postman" "bartender" "onedrive" "skype" + "1password" + # "wezterm@nightly" "zoom" ]; homebrew.masApps = { - "1Password for Safari" = 1569813296; + # "1Password for Safari" = 1569813296; "Microsoft 365" = 1450038993; Fantastical = 975937182; "Microsoft Teams" = 1113153706; "Microsoft Outlook" = 985367838; }; - system.defaults.NSGlobalDomain = { - AppleInterfaceStyle = "Dark"; # dark mode - AppleShowAllFiles = true; - ApplePressAndHoldEnabled = false; # enable press and hold - # If you press and hold certain keyboard keys when in a text area, the key’s character begins to repeat. - # This is very useful for vim users, they use `hjkl` to move cursor. - # sets how long it takes before it starts repeating. - InitialKeyRepeat = 10; # normal minimum is 15 (225 ms), maximum is 120 (1800 ms) - # sets how fast it repeats once it starts. - KeyRepeat = 3; # normal minimum is 2 (30 ms), maximum is 120 (1800 ms) - }; services.yabai = { enable = false; enableScriptingAddition = true; config = { - focus_follows_mouse = "autoraise"; + focus_follows_mouse = "off"; mouse_follows_focus = "off"; window_placement = "second_child"; window_opacity = "off"; - top_padding = 36; + layout = "bsp"; + top_padding = 10; bottom_padding = 10; left_padding = 10; right_padding = 10; window_gap = 10; }; + extraConfig = '' + yabai -m signal --add app='^Ghostty$' event=window_created action='yabai -m space --layout bsp' + yabai -m signal --add app='^Ghostty$' event=window_destroyed action='yabai -m space --layout bsp' + ''; }; system.defaults.dock = { persistent-apps = [ "/System/Applications/Launchpad.app" "/Applications/Arc.app" - "/Applications/Spotify.app" + "${pkgs.spotify}/Applications/Spotify.app" "/Applications/Notion.app" "/Applications/Microsoft Outlook.app" "/Applications/Fantastical.app" "/System/Applications/App Store.app/" + "/Applications/Microsoft Teams.app" + "/Applications/Microsoft Word.app" "/System/Applications/Messages.app" - "/Applications/Beeper.app" + "/Applications/Beeper Desktop.app" "/Applications/1Password.app" "/System/Applications/System Settings.app" "/System/Applications/Home.app" "${pkgs.vscode}/Applications/Visual Studio Code.App" - "${pkgs.wezterm}/Applications/Wezterm.App" + "${pkgs.ghostty}/Applications/Ghostty.app" "${pkgs.zotero}/Applications/Zotero.app" ]; }; + services.sketchybar.enable = true; + services.sketchybar.extraPackages = with pkgs; [ jq yabai ]; + users.users.ivypierlot = { name = "ivypierlot"; home = "/Users/ivypierlot"; diff --git a/systems/macbook/default.nix b/systems/macbook/default.nix new file mode 100755 index 000000000..ae409c580 --- /dev/null +++ b/systems/macbook/default.nix @@ -0,0 +1,42 @@ +{ nixpkgs +, config +, overlays +, inputs +, home-manager +, darwin +, home-manager-modules +, modules +, ... +}: +darwin.lib.darwinSystem { + specialArgs = { inherit inputs; }; + system = "aarch64-darwin"; + modules = modules ++ [ + ./configuration.nix + home-manager.darwinModules.home-manager + { + home-manager.users.ivypierlot = { + imports = home-manager-modules; + home.username = "ivypierlot"; + home.sessionVariables = { + NH_FLAKE = "/Users/ivypierlot/dotfiles/nixos-config"; + }; + }; + nixpkgs = { + + overlays = overlays ++ [ + (prev: this: + { + + ghostty = prev.ghostty-mac; + } + + ) + ]; + inherit config; + }; + # Optionally, use home-manager.extraSpecialArgs to pass + # arguments to home.nix + } + ]; +} diff --git a/nixos-config/systems/macmini/configuration.nix b/systems/macmini/configuration.nix similarity index 100% rename from nixos-config/systems/macmini/configuration.nix rename to systems/macmini/configuration.nix diff --git a/nixos-config/systems/macbook/default.nix b/systems/macmini/default.nix similarity index 100% rename from nixos-config/systems/macbook/default.nix rename to systems/macmini/default.nix diff --git a/nixos-config/systems/secondpc/configuration.nix b/systems/secondpc/configuration.nix similarity index 100% rename from nixos-config/systems/secondpc/configuration.nix rename to systems/secondpc/configuration.nix diff --git a/nixos-config/systems/secondpc/default.nix b/systems/secondpc/default.nix similarity index 89% rename from nixos-config/systems/secondpc/default.nix rename to systems/secondpc/default.nix index 185f50cd7..41b3fbb09 100755 --- a/nixos-config/systems/secondpc/default.nix +++ b/systems/secondpc/default.nix @@ -10,6 +10,7 @@ }: nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + specialArgs = { inherit inputs; }; modules = modules ++ [ ./configuration.nix ./hardware-configuration.nix @@ -20,9 +21,8 @@ nixpkgs.lib.nixosSystem { # ./minecraft.nix home-manager.nixosModules.home-manager { - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; + + home-manager. users.auscyber = { imports = home-manager-modules; home.username = "auscyber"; @@ -32,7 +32,6 @@ nixpkgs.lib.nixosSystem { }; }; - }; nixpkgs = { inherit config overlays; }; } diff --git a/nixos-config/systems/secondpc/mailserver.nix b/systems/secondpc/mailserver.nix similarity index 100% rename from nixos-config/systems/secondpc/mailserver.nix rename to systems/secondpc/mailserver.nix diff --git a/nixos-config/systems/secondpc/minecraft.nix b/systems/secondpc/minecraft.nix similarity index 100% rename from nixos-config/systems/secondpc/minecraft.nix rename to systems/secondpc/minecraft.nix diff --git a/nixos-config/systems/surfacelaptop/configuration.nix b/systems/surfacelaptop/configuration.nix similarity index 100% rename from nixos-config/systems/surfacelaptop/configuration.nix rename to systems/surfacelaptop/configuration.nix diff --git a/nixos-config/systems/surfacelaptop/default.nix b/systems/surfacelaptop/default.nix similarity index 100% rename from nixos-config/systems/surfacelaptop/default.nix rename to systems/surfacelaptop/default.nix diff --git a/nixos-config/systems/surfacelaptop/hardware-configuration.nix b/systems/surfacelaptop/hardware-configuration.nix similarity index 100% rename from nixos-config/systems/surfacelaptop/hardware-configuration.nix rename to systems/surfacelaptop/hardware-configuration.nix diff --git a/nixos-config/systems/wsl-nixos/configuration.nix b/systems/wsl-nixos/configuration.nix similarity index 100% rename from nixos-config/systems/wsl-nixos/configuration.nix rename to systems/wsl-nixos/configuration.nix diff --git a/nixos-config/systems/wsl-nixos/default.nix b/systems/wsl-nixos/default.nix similarity index 100% rename from nixos-config/systems/wsl-nixos/default.nix rename to systems/wsl-nixos/default.nix