From 43f1ce3c053d0d49322edf955ba1da23c59a64fc Mon Sep 17 00:00:00 2001 From: Zhongheng Liu Date: Tue, 6 Jan 2026 20:27:52 +0100 Subject: [PATCH] wip!: init home-manager configs --- dwl | 2 +- home/home.nix | 77 +++++++++++++++++++ {scripts/src => home/scripts}/batman.sh | 0 home/scripts/default.nix | 7 ++ .../src => home/scripts}/screenshot-file.sh | 0 {scripts/src => home/scripts}/screenshot.sh | 0 {scripts/src => home/scripts}/setup.sh | 3 +- {scripts/src => home/scripts}/startup.sh | 0 {scripts/src => home/scripts}/vol.sh | 0 scripts/Makefile | 17 ---- 10 files changed, 87 insertions(+), 19 deletions(-) create mode 100644 home/home.nix rename {scripts/src => home/scripts}/batman.sh (100%) create mode 100644 home/scripts/default.nix rename {scripts/src => home/scripts}/screenshot-file.sh (100%) rename {scripts/src => home/scripts}/screenshot.sh (100%) rename {scripts/src => home/scripts}/setup.sh (53%) rename {scripts/src => home/scripts}/startup.sh (100%) rename {scripts/src => home/scripts}/vol.sh (100%) delete mode 100644 scripts/Makefile diff --git a/dwl b/dwl index 01082b4..e3f8b3e 160000 --- a/dwl +++ b/dwl @@ -1 +1 @@ -Subproject commit 01082b4d9e1a927e186a2e8cdb4c606f66b03ffd +Subproject commit e3f8b3e1db2efb21d4ca4786e86adda09d870aa9 diff --git a/home/home.nix b/home/home.nix new file mode 100644 index 0000000..a0a2d81 --- /dev/null +++ b/home/home.nix @@ -0,0 +1,77 @@ +{ config, pkgs, ... }: + +{ + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "steven"; + home.homeDirectory = "/home/steven"; + + # 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. + home.stateVersion = "25.11"; # Please read the comment before changing. + + # The home.packages option allows you to install Nix packages into your + # environment. + home.packages = [ + # # 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}!" + # '') + import ./scripts + ]; + + # 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 + # ''; + }; + + # Home Manager can also manage your environment variables through + # 'home.sessionVariables'. These will be explicitly sourced when using a + # shell provided by Home Manager. If you don't want to manage your shell + # through Home Manager then you have to manually source 'hm-session-vars.sh' + # located at either + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/steven/etc/profile.d/hm-session-vars.sh + # + home.sessionVariables = { + # EDITOR = "emacs"; + }; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; +} diff --git a/scripts/src/batman.sh b/home/scripts/batman.sh similarity index 100% rename from scripts/src/batman.sh rename to home/scripts/batman.sh diff --git a/home/scripts/default.nix b/home/scripts/default.nix new file mode 100644 index 0000000..4767403 --- /dev/null +++ b/home/scripts/default.nix @@ -0,0 +1,7 @@ +{ + pkgs, +}: [ + (pkgs.writeShellApplication { + name = "vol.sh"; + } +] diff --git a/scripts/src/screenshot-file.sh b/home/scripts/screenshot-file.sh similarity index 100% rename from scripts/src/screenshot-file.sh rename to home/scripts/screenshot-file.sh diff --git a/scripts/src/screenshot.sh b/home/scripts/screenshot.sh similarity index 100% rename from scripts/src/screenshot.sh rename to home/scripts/screenshot.sh diff --git a/scripts/src/setup.sh b/home/scripts/setup.sh similarity index 53% rename from scripts/src/setup.sh rename to home/scripts/setup.sh index b1b50d2..8cf3cea 100755 --- a/scripts/src/setup.sh +++ b/home/scripts/setup.sh @@ -1,3 +1,4 @@ -#!/usr/bin/sh +#!/usr/bin/bash systemctl --user import-environment WAYLAND_DISPLAY +. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" swaybg -i $HOME/wallpaper.jpg diff --git a/scripts/src/startup.sh b/home/scripts/startup.sh similarity index 100% rename from scripts/src/startup.sh rename to home/scripts/startup.sh diff --git a/scripts/src/vol.sh b/home/scripts/vol.sh similarity index 100% rename from scripts/src/vol.sh rename to home/scripts/vol.sh diff --git a/scripts/Makefile b/scripts/Makefile deleted file mode 100644 index b0233d0..0000000 --- a/scripts/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -SHELL := /bin/bash - -DEST := /usr/local/bin -SRC := ./src/ -install: - @if [ "$$(id -u)" -ne 0 ]; then \ - echo "Error: You must be root to run 'make install'."; \ - exit 1; \ - fi - @find $(SRC) -type f | while IFS= read -r fpath; do \ - filename="$${fpath##*/}"; \ - echo "Installing $$filename ..."; \ - install -m 755 "$$fpath" "$(DEST)/$$filename"; \ - done - - -