From 83f5134c93a2b67d9e669cbc8ed6c15fc8c254d7 Mon Sep 17 00:00:00 2001 From: Zhongheng Liu Date: Sun, 18 Jan 2026 04:18:58 +0100 Subject: [PATCH] init nix stuff --- dwl | 2 +- home-manager/flake.lock | 48 ++++++++++++++++++++++++++++++++++++ home-manager/flake.nix | 31 +++++++++++++++++++++++ home-manager/home.nix | 39 +++++++++++++++++++++++++++++ home-manager/neovim/init.lua | 26 +++++++++++++++++++ 5 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 home-manager/flake.lock create mode 100644 home-manager/flake.nix create mode 100644 home-manager/home.nix create mode 100644 home-manager/neovim/init.lua diff --git a/dwl b/dwl index 01082b4..9ad94e3 160000 --- a/dwl +++ b/dwl @@ -1 +1 @@ -Subproject commit 01082b4d9e1a927e186a2e8cdb4c606f66b03ffd +Subproject commit 9ad94e33c2c889a62a526a767c864be71b630777 diff --git a/home-manager/flake.lock b/home-manager/flake.lock new file mode 100644 index 0000000..b8bf553 --- /dev/null +++ b/home-manager/flake.lock @@ -0,0 +1,48 @@ +{ + "nodes": { + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1768598210, + "narHash": "sha256-kkgA32s/f4jaa4UG+2f8C225Qvclxnqs76mf8zvTVPg=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "c47b2cc64a629f8e075de52e4742de688f930dc6", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1768564909, + "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/home-manager/flake.nix b/home-manager/flake.nix new file mode 100644 index 0000000..ba331c1 --- /dev/null +++ b/home-manager/flake.nix @@ -0,0 +1,31 @@ +{ + description = "Home Manager configuration of steven"; + + inputs = { + # Specify the source of Home Manager and Nixpkgs. + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = + { nixpkgs, home-manager, ... }: + let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + in + { + homeConfigurations."steven" = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + + # Specify your home configuration modules here, for example, + # the path to your home.nix. + modules = [ ./home.nix ]; + + # Optionally use extraSpecialArgs + # to pass through arguments to home.nix + }; + }; +} diff --git a/home-manager/home.nix b/home-manager/home.nix new file mode 100644 index 0000000..b6bcb72 --- /dev/null +++ b/home-manager/home.nix @@ -0,0 +1,39 @@ +{ config, pkgs, ... }: + +{ + home.username = "steven"; + home.homeDirectory = "/home/steven"; + home.stateVersion = "25.11"; # Please read the comment before changing. + home.packages = [ + ]; + home.file = { + "hmhello.txt".text = '' + hello''; + }; + home.sessionVariables = { + QT_QPA_PLATFORMTHEME = "gtk3"; + PATH = "$PATH:/home/steven/.local/share/JetBrains/Toolbox/scripts/"; + }; + programs = { + home-manager.enable = true; + fish.enable = true; + neovim = { + enable = true; + viAlias = true; + vimAlias = true; + plugins = with pkgs.vimPlugins; [ + oil-nvim + nvim-colorizer-lua + nvim-treesitter + mini-nvim + plenary-nvim + telescope-nvim + gitsigns-nvim + vim-airline + nvim-web-devicons + vim-startify + ]; + extraLuaConfig = builtins.readFile ./neovim/init.lua; + }; + }; +} diff --git a/home-manager/neovim/init.lua b/home-manager/neovim/init.lua new file mode 100644 index 0000000..f626636 --- /dev/null +++ b/home-manager/neovim/init.lua @@ -0,0 +1,26 @@ +vim.opt.number = true +vim.opt.tabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.undofile = true +vim.opt.clipboard = "unnamedplus" +vim.cmd [[ + highlight Normal guibg=none + highlight NonText guibg=none + highlight Normal ctermbg=none + highlight NonText ctermbg=none +]] +-- Disable netrw first: +vim.g.loaded_netrw = 1 +vim.g.loaded_netrwPlugin = 1 + +require("oil").setup({ + default_file_explorer = true, +}) +-- Keymaps +vim.keymap.set("n", "-", require("oil").open, { desc = "Open Oil" }) +vim.keymap.set("n", "-", require("oil").open_float, { desc = "Open Oil float" }) +local builtin = require('telescope.builtin') +vim.keymap.set('n', 'ff', builtin.find_files, { desc = 'Telescope find files' }) +vim.keymap.set('n', 'fg', builtin.live_grep, { desc = 'Telescope live grep' }) +vim.keymap.set('n', 'fb', builtin.buffers, { desc = 'Telescope buffers' }) +vim.keymap.set('n', 'fh', builtin.help_tags, { desc = 'Telescope help tags' })