diff --git a/flake.lock b/flake.lock index 41364d9..c51997f 100644 --- a/flake.lock +++ b/flake.lock @@ -1,26 +1,5 @@ { "nodes": { - "home-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1741217763, - "narHash": "sha256-g/TrltIjFHIjtzKY5CJpoPANfHQWDD43G5U1a/v5oVg=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "486b066025dccd8af7fbe5dd2cc79e46b88c80da", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "master", - "repo": "home-manager", - "type": "github" - } - }, "homix": { "inputs": { "nixpkgs": "nixpkgs" @@ -89,7 +68,6 @@ }, "root": { "inputs": { - "home-manager": "home-manager", "homix": "homix", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2" diff --git a/flake.nix b/flake.nix index eea250a..9c1b84f 100644 --- a/flake.nix +++ b/flake.nix @@ -3,56 +3,23 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; - home-manager.url = "github:nix-community/home-manager/master"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; homix.url = "github:sioodmy/homix/main"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; }; outputs = inputs@{ self, nixpkgs, homix, ... }: let - systemSettings = { - system = "x86_64-linux"; - hostname = "kenryu-nixos"; - host = "syushiki"; - timezone = "Asia/Tokyo"; - locale = "ja_JP.UTF-8"; - }; - - userSettings = { - username = "kenryus"; - name = "Kenryu Shibata"; - email-dev = "kenryudev5894@gmail.com"; - dotfilesDir = "/etc/nixos"; - }; - pkgs = import inputs.nixpkgs { - system = systemSettings.system; + system = "x86_64-linux"; }; lib = inputs.nixpkgs.lib; - in { + in + { nixosModules = { homix = homix.nixosModules.default; }; nixosConfigurations = import ./hosts inputs; - #nixosConfigurations.syushiki = lib.nixosSystem { - # system = systemSettings.system; - # modules = [ - # ./hosts/syushiki - # ./overlays - # home-manager.nixosModules.home-manager { - # home-manager.useGlobalPkgs = true; - # home-manager.useUserPackages = true; - # home-manager.users.${userSettings.username} = import (./. + "/hosts/${systemSettings.host}/home.nix"); - # home-manager.extraSpecialArgs = { - # inherit userSettings; - # }; - # } - # ]; - # specialArgs = { - # inherit inputs systemSettings userSettings; - # }; - #}; + }; } diff --git a/newpkg.sh b/newpkg.sh deleted file mode 100644 index 2499ddc..0000000 --- a/newpkg.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash - -echo "newpkg.sh: create minimal nix file in current directory, Current Directory: $PWD" - -if [ -z "$NIXOSSYSCONFIG" ]; then - echo "Error: Env Variable Missing, NIXOSSYSCONFIG" - exit 1 -fi - -if [ -z "$NIXOSHOMECONFIG" ]; then - echo "Error: Env Variable Missing, NIXOSHOMECONFIG" - exit 1 -fi - -if [ -z "$EDITOR" ]; then - echo "Error: Env Variable Missing, EDITOR" - exit 1 -fi - -echo -e "Select installation destination:\n[1]: System\n[2]: User\n[q]: quit" -read dest -echo "Specifiy the package to add:" -read pkgName - -touch "$PWD/${pkgName}.nix" - -if [[ $dest -eq 1 ]]; then - echo -e "{ pkgs, ... }:\n{\n environment.systemPackages = with pkgs; [\n ${pkgName}\n ];\n}" > "$PWD/${pkgName}.nix" - echo "Open editor to modify system imports? [y/N]: " - read doEdit - if [ "$doEdit" == "y" ] || [ "$doEdit" == "Y" ]; then - $EDITOR $NIXOSSYSCONFIG - fi -elif [[ $dest -eq 2 ]]; then - echo -e "{ pkgs, ... }:\n{\n home.packages = with pkgs; [\n ${pkgName}\n ];\n}" > "$PWD/${pkgName}.nix" - echo "Open editor to modify home imports? [y/N]: " - read doEdit - if [ "$doEdit" == "y" ] || [ "$doEdit" == "Y" ]; then - $EDITOR $NIXOSHOMECONFIG - fi -elif [[ $dest == "q" ]]; then - exit 0 -else - echo "Error: Non-numeric or Out-ranged value inputed" - exit 1 -fi - -echo "Would you like to edit new nix file for further configuration? [y/N]: " -read doNixEdit -if [ "$doNixEdit" == "y" ] || [ "$doNixEdit" == "Y" ]; then - $EDITOR "$PWD/${pkgName}.nix" -fi - -echo "Would you like to execute nixos-rebuild? [y/N]: " -read doExec - -if [ "$doExec" == "y" ] || [ "$doExec" == "Y" ]; then - cd ~/.dotfiles - sudo nixos-rebuild switch --flake '.#system' -else - echo "Exiting" - exit 0 -fi diff --git a/user/dev/editor/neovim.nix b/user/dev/editor/neovim.nix deleted file mode 100644 index ec845ce..0000000 --- a/user/dev/editor/neovim.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ config, pkgs, ... }: -{ - home.packages = with pkgs; [ - neovim - ]; - - programs.neovim = { - enable = true; - vimAlias = false; - viAlias = false; - withRuby = true; - withPython3 = true; - withNodeJs = true; - package = pkgs.neovim-unwrapped; - }; -} diff --git a/user/dev/editor/vscodium.nix b/user/dev/editor/vscodium.nix deleted file mode 100644 index 018650b..0000000 --- a/user/dev/editor/vscodium.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = [ pkgs.vscodium ]; -} diff --git a/user/dev/editor/zed-editor.nix b/user/dev/editor/zed-editor.nix deleted file mode 100644 index a4f2d5c..0000000 --- a/user/dev/editor/zed-editor.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = [ pkgs.zed-editor ]; -} diff --git a/user/dev/lang/cc.nix b/user/dev/lang/cc.nix deleted file mode 100644 index ad072b3..0000000 --- a/user/dev/lang/cc.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - gcc - gdb - cmake - autoconf - automake - gnumake - libtool - clang-analyzer - clang-tools - ]; -} diff --git a/user/dev/lang/ecmascript.nix b/user/dev/lang/ecmascript.nix deleted file mode 100644 index 1c3168c..0000000 --- a/user/dev/lang/ecmascript.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - nodejs_22 - ]; -} diff --git a/user/dev/lang/python.nix b/user/dev/lang/python.nix deleted file mode 100644 index 320e94b..0000000 --- a/user/dev/lang/python.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - python313Full - ]; -} diff --git a/user/dev/lang/rust.nix b/user/dev/lang/rust.nix deleted file mode 100644 index 71f6928..0000000 --- a/user/dev/lang/rust.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - rustup - ]; -} diff --git a/user/dev/tools/gh.nix b/user/dev/tools/gh.nix deleted file mode 100644 index 063021c..0000000 --- a/user/dev/tools/gh.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - gh - ]; -} diff --git a/user/dev/tools/git.nix b/user/dev/tools/git.nix deleted file mode 100644 index d897637..0000000 --- a/user/dev/tools/git.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, userSettings, ... }: -{ - home.packages = [ pkgs.git ]; - programs.git.enable = true; - programs.git.userName = userSettings.name; - programs.git.userEmail = userSettings.email-dev; -} diff --git a/user/wm/xmonad/xmobarrc b/user/wm/xmonad/xmobarrc deleted file mode 100644 index 64ebcc9..0000000 --- a/user/wm/xmonad/xmobarrc +++ /dev/null @@ -1,33 +0,0 @@ -Config { - font = "IPAGothic 9", - bgColor = "black", - fgColor = "#646464", - position = Top, - border = BottomB, - borderColor = "#646464", - - sepChar = "%", - alignSep = "}{", - template = "%multicpu% | %coretemp% | %memory% | %dynnetwork% }{ %date%", - - lowerOnStart = True, - hideOnStart = False, - allDesktops = True, - overrideRedirect = True, - pickBroadest = False, - persistent = True, - - commands = - [ - Run DynNetwork [ "--template", ": kB/s|kB/s", - "--Low", "1000", -- units: B/s - "--High", "5000", -- units: B/s - "--low", "darkgreen", - "--normal", "darkorange", - "--high", "darkred" ] 10, - - Run MultiCpu [ - "--template", "Cpu: C|C" - ] 10, - ] -} diff --git a/user/wm/xmonad/xmonad.hs b/user/wm/xmonad/xmonad.hs deleted file mode 100644 index 4d822a7..0000000 --- a/user/wm/xmonad/xmonad.hs +++ /dev/null @@ -1,335 +0,0 @@ --- --- xmonad example config file. --- --- A template showing all available configuration hooks, --- and how to override the defaults in your own xmonad.hs conf file. --- --- Normally, you'd only override those defaults you care about. --- - -import XMonad -import XMonad.Hooks.DynamicLog -import Data.Monoid -import System.Exit - -import qualified XMonad.StackSet as W -import qualified Data.Map as M - --- The preferred terminal program, which is used in a binding below and by --- certain contrib modules. --- -myTerminal = "alacritty" - --- Whether focus follows the mouse pointer. -myFocusFollowsMouse :: Bool -myFocusFollowsMouse = True - --- Whether clicking on a window to focus also passes the click to the window -myClickJustFocuses :: Bool -myClickJustFocuses = False - --- Width of the window border in pixels. --- -myBorderWidth = 1 - --- modMask lets you specify which modkey you want to use. The default --- is mod1Mask ("left alt"). You may also consider using mod3Mask --- ("right alt"), which does not conflict with emacs keybindings. The --- "windows key" is usually mod4Mask. --- -myModMask = mod4Mask - --- The default number of workspaces (virtual screens) and their names. --- By default we use numeric strings, but any string may be used as a --- workspace name. The number of workspaces is determined by the length --- of this list. --- --- A tagging example: --- --- > workspaces = ["web", "irc", "code" ] ++ map show [4..9] --- -myWorkspaces = ["term", "web", "code", "debug", "docs"] ++ map show [6..9] - --- Border colors for unfocused and focused windows, respectively. --- -myNormalBorderColor = "#dddddd" -myFocusedBorderColor = "#ff0000" - ------------------------------------------------------------------------- --- Key bindings. Add, modify or remove key bindings here. --- -myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $ - - -- launch a terminal - [ ((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf) - - -- launch dmenu - , ((modm, xK_p ), spawn "rofi -show drun") - - -- close focused window - , ((modm .|. shiftMask, xK_c ), kill) - - -- Rotate through the available layout algorithms - , ((modm, xK_space ), sendMessage NextLayout) - - -- Reset the layouts on the current workspace to default - , ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) - - -- Resize viewed windows to the correct size - , ((modm, xK_n ), refresh) - - -- Move focus to the next window - , ((modm, xK_Tab ), windows W.focusDown) - - -- Move focus to the next window - , ((modm, xK_j ), windows W.focusDown) - - -- Move focus to the previous window - , ((modm, xK_k ), windows W.focusUp ) - - -- Move focus to the master window - , ((modm, xK_m ), windows W.focusMaster ) - - -- Swap the focused window and the master window - , ((modm, xK_Return), windows W.swapMaster) - - -- Swap the focused window with the next window - , ((modm .|. shiftMask, xK_j ), windows W.swapDown ) - - -- Swap the focused window with the previous window - , ((modm .|. shiftMask, xK_k ), windows W.swapUp ) - - -- Shrink the master area - , ((modm, xK_h ), sendMessage Shrink) - - -- Expand the master area - , ((modm, xK_l ), sendMessage Expand) - - -- Push window back into tiling - , ((modm, xK_t ), withFocused $ windows . W.sink) - - -- Increment the number of windows in the master area - , ((modm , xK_comma ), sendMessage (IncMasterN 1)) - - -- Deincrement the number of windows in the master area - , ((modm , xK_period), sendMessage (IncMasterN (-1))) - - -- Toggle the status bar gap - -- Use this binding with avoidStruts from Hooks.ManageDocks. - -- See also the statusBar function from Hooks.DynamicLog. - -- - -- , ((modm , xK_b ), sendMessage ToggleStruts) - - -- Quit xmonad - , ((modm .|. shiftMask, xK_q ), io exitSuccess) - - -- Restart xmonad - , ((modm , xK_q ), spawn "xmonad --recompile; xmonad --restart") - - -- Run xmessage with a summary of the default keybindings (useful for beginners) - , ((modm .|. shiftMask, xK_slash ), xmessage help) - ] - ++ - - -- - -- mod-[1..9], Switch to workspace N - -- mod-shift-[1..9], Move client to workspace N - -- - [((m .|. modm, k), windows $ f i) - | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9] - , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] - ++ - - -- - -- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3 - -- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3 - -- - [((m .|. modm, key), screenWorkspace sc >>= flip whenJust (windows . f)) - | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..] - , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] - - ------------------------------------------------------------------------- --- Mouse bindings: default actions bound to mouse events --- -myMouseBindings (XConfig {XMonad.modMask = modm}) = M.fromList - - -- mod-button1, Set the window to floating mode and move by dragging - [ ((modm, button1), \w -> focus w >> mouseMoveWindow w - >> windows W.shiftMaster) - - -- mod-button2, Raise the window to the top of the stack - , ((modm, button2), \w -> focus w >> windows W.shiftMaster) - - -- mod-button3, Set the window to floating mode and resize by dragging - , ((modm, button3), \w -> focus w >> mouseResizeWindow w - >> windows W.shiftMaster) - - -- you may also bind events to the mouse scroll wheel (button4 and button5) - ] - ------------------------------------------------------------------------- --- Layouts: - --- You can specify and transform your layouts by modifying these values. --- If you change layout bindings be sure to use 'mod-shift-space' after --- restarting (with 'mod-q') to reset your layout state to the new --- defaults, as xmonad preserves your old layout settings by default. --- --- The available layouts. Note that each layout is separated by |||, --- which denotes layout choice. --- -myLayout = tiled ||| Mirror tiled ||| Full - where - -- default tiling algorithm partitions the screen into two panes - tiled = Tall nmaster delta ratio - - -- The default number of windows in the master pane - nmaster = 1 - - -- Default proportion of screen occupied by master pane - ratio = 1/2 - - -- Percent of screen to increment by when resizing panes - delta = 3/100 - ------------------------------------------------------------------------- --- Window rules: - --- Execute arbitrary actions and WindowSet manipulations when managing --- a new window. You can use this to, for example, always float a --- particular program, or have a client always appear on a particular --- workspace. --- --- To find the property name associated with a program, use --- > xprop | grep WM_CLASS --- and click on the client you're interested in. --- --- To match on the WM_NAME, you can use 'title' in the same way that --- 'className' and 'resource' are used below. --- -myManageHook = composeAll - [ className =? "MPlayer" --> doFloat - , className =? "Gimp" --> doFloat - , resource =? "desktop_window" --> doIgnore - , resource =? "kdesktop" --> doIgnore ] - ------------------------------------------------------------------------- --- Event handling - --- * EwmhDesktops users should change this to ewmhDesktopsEventHook --- --- Defines a custom handler function for X Events. The function should --- return (All True) if the default handler is to be run afterwards. To --- combine event hooks use mappend or mconcat from Data.Monoid. --- -myEventHook = mempty - ------------------------------------------------------------------------- --- Status bars and logging - --- Perform an arbitrary action on each internal state change or X event. --- See the 'XMonad.Hooks.DynamicLog' extension for examples. --- -myLogHook = return () - ------------------------------------------------------------------------- --- Startup hook - --- Perform an arbitrary action each time xmonad starts or is restarted --- with mod-q. Used by, e.g., XMonad.Layout.PerWorkspace to initialize --- per-workspace layout choices. --- --- By default, do nothing. -myStartupHook = do - spawn "feh --bg-scale ~/画像/wallpaper/85444653_p0.jpg" - ------------------------------------------------------------------------- --- Now run xmonad with all the defaults we set up. - --- Run xmonad with the settings you specify. No need to modify this. --- -main :: IO() -main = do - xmobar myConfig >>= xmonad - --- A structure containing your configuration settings, overriding --- fields in the default config. Any you don't override, will --- use the defaults defined in xmonad/XMonad/Config.hs --- --- No need to modify this. --- -myConfig = def { - -- simple stuff - terminal = myTerminal, - focusFollowsMouse = myFocusFollowsMouse, - clickJustFocuses = myClickJustFocuses, - borderWidth = myBorderWidth, - modMask = myModMask, - workspaces = myWorkspaces, - normalBorderColor = myNormalBorderColor, - focusedBorderColor = myFocusedBorderColor, - - -- key bindings - keys = myKeys, - mouseBindings = myMouseBindings, - - -- hooks, layouts - layoutHook = myLayout, - manageHook = myManageHook, - handleEventHook = myEventHook, - logHook = myLogHook, - startupHook = myStartupHook - } - --- | Finally, a copy of the default bindings in simple textual tabular format. -help :: String -help = unlines ["The default modifier key is 'alt'. Default keybindings:", - "", - "-- launching and killing programs", - "mod-Shift-Enter Launch xterminal", - "mod-p Launch dmenu", - "mod-Shift-p Launch gmrun", - "mod-Shift-c Close/kill the focused window", - "mod-Space Rotate through the available layout algorithms", - "mod-Shift-Space Reset the layouts on the current workSpace to default", - "mod-n Resize/refresh viewed windows to the correct size", - "mod-Shift-/ Show this help message with the default keybindings", - "", - "-- move focus up or down the window stack", - "mod-Tab Move focus to the next window", - "mod-Shift-Tab Move focus to the previous window", - "mod-j Move focus to the next window", - "mod-k Move focus to the previous window", - "mod-m Move focus to the master window", - "", - "-- modifying the window order", - "mod-Return Swap the focused window and the master window", - "mod-Shift-j Swap the focused window with the next window", - "mod-Shift-k Swap the focused window with the previous window", - "", - "-- resizing the master/slave ratio", - "mod-h Shrink the master area", - "mod-l Expand the master area", - "", - "-- floating layer support", - "mod-t Push window back into tiling; unfloat and re-tile it", - "", - "-- increase or decrease number of windows in the master area", - "mod-comma (mod-,) Increment the number of windows in the master area", - "mod-period (mod-.) Deincrement the number of windows in the master area", - "", - "-- quit, or restart", - "mod-Shift-q Quit xmonad", - "mod-q Restart xmonad", - "mod-[1..9] Switch to workSpace N", - "", - "-- Workspaces & screens", - "mod-Shift-[1..9] Move client to workspace N", - "mod-{w,e,r} Switch to physical/Xinerama screens 1, 2, or 3", - "mod-Shift-{w,e,r} Move client to screen 1, 2, or 3", - "", - "-- Mouse bindings: default actions bound to mouse events", - "mod-button1 Set the window to floating mode and move by dragging", - "mod-button2 Raise the window to the top of the stack", - "mod-button3 Set the window to floating mode and resize by dragging"] diff --git a/user/wm/xmonad/xmonad.nix b/user/wm/xmonad/xmonad.nix deleted file mode 100644 index 827fd2e..0000000 --- a/user/wm/xmonad/xmonad.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ config, pkgs, ... }: -{ - home.packages = with pkgs; [ - xmobar - dunst - networkmanagerapplet - rofi - feh - pavucontrol - xorg.xkill - xdg-utils - xdg-desktop-portal - xdg-desktop-portal-gtk - ]; - - home.file.".config/xmonad/xmonad.hs".source = ./xmonad.hs; - home.file.".config/xmobar/xmobarrc".source = ./xmobarrc; -}