From a20f10427eeb2593ac3898055c50a725fb85a833 Mon Sep 17 00:00:00 2001 From: deva Date: Sun, 4 Aug 2024 18:16:15 -0400 Subject: [PATCH] switching away from nixos (and to arch linux) commit is to save unfinished configuration/etc. for later --- os/configuration.nix | 9 ++++++ os/desktop/gnome.nix | 37 +++++++++++----------- os/dev/default.nix | 40 ++++++++++++------------ os/dev/wezterm.lua | 2 +- os/shell/prompt.json | 74 ++++++++++++++++++++++++++++++++++++++++++++ os/shell/zsh.nix | 9 +++--- os/styling.nix | 49 +++++++++++++++++------------ os/users.nix | 3 +- pkgs/default.nix | 1 + pkgs/zed-fhs.nix | 20 ++++++++++++ 10 files changed, 182 insertions(+), 62 deletions(-) create mode 100644 os/shell/prompt.json create mode 100644 pkgs/zed-fhs.nix diff --git a/os/configuration.nix b/os/configuration.nix index 3fd1479..c90aa32 100644 --- a/os/configuration.nix +++ b/os/configuration.nix @@ -66,8 +66,12 @@ in { environment.systemPackages = with pkgs; [ unstable.neovim + fuse3 firefox #jmtpfs + kanata + localsend + parsec-bin ]; services.gvfs.enable = true; @@ -122,6 +126,11 @@ in { boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + boot.kernelModules = ["uinput" "fuse"]; + + services.udev.extraRules = '' + KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput", GROUP="input", MODE="0660" + ''; boot.initrd.postDeviceCommands = lib.mkAfter (builtins.readFile ./btrfs-impermanence); diff --git a/os/desktop/gnome.nix b/os/desktop/gnome.nix index 439000e..cdbd66f 100644 --- a/os/desktop/gnome.nix +++ b/os/desktop/gnome.nix @@ -17,9 +17,9 @@ ]; }; - "org/gnome/shell/extensions/user-theme" = { - name = "Materia-dark"; - }; + # "org/gnome/shell/extensions/user-theme" = { + # name = "Materia-dark"; + # }; "org/gnome/shell/extensions/unite" = { desktop-name-text = "Desktop"; @@ -32,9 +32,9 @@ window-buttons-theme = "arc"; }; - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - }; + # "org/gnome/desktop/interface" = { + # color-scheme = "prefer-dark"; + # }; "org/gnome/desktop/wm/preferences" = { resize-with-right-button = true; @@ -52,10 +52,10 @@ ]; }; - "org/gnome/desktop/background" = { - picture-uri = "file:///${./wallpaper.jpg}"; - picture-uri-dark = "file:///${./nix-wallpaper.png}"; - }; + # "org/gnome/desktop/background" = { + # picture-uri = "file:///${./wallpaper.jpg}"; + # picture-uri-dark = "file:///${./nix-wallpaper.png}"; + # }; }; }; @@ -68,23 +68,24 @@ # Theme materia-theme ]; + dconf.settings."org/gnome/desktop/interface".font-name = pkgs.lib.mkForce "Cascadia Code NF 12"; gtk = { enable = true; - font = { - name = "Cascadia Code"; - size = 12; - }; + # font = pkgs.lib.mkForce { + # name = "Cascadia Code NF"; + # size = 12; + # }; iconTheme = { name = "Zafiro-icons-Dark"; package = pkgs.zafiro-icons; }; - theme = { - name = "Materia-dark"; - package = pkgs.materia-theme; - }; + # theme = { + # name = "Materia-dark"; + # package = pkgs.lib.mkForce pkgs.materia-theme; + # }; gtk2 = { configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; diff --git a/os/dev/default.nix b/os/dev/default.nix index 01504b6..2100d03 100644 --- a/os/dev/default.nix +++ b/os/dev/default.nix @@ -35,25 +35,27 @@ in { programs.zsh.shellAliases = { pst = "${wantgunsbin_script}/bin/pst"; }; - home.packages = with pkgs.unstable; [ - bruno - just - nil - alejandra - zoxide - neovide - nodejs - corepack - cargo-watch - rustup - go - - jetbrains.idea-community - vscode - cascadia-code - jdk17 - ncdu - httpie + home.packages = with pkgs; [ + unstable.bruno + unstable.xclip + unstable.just + unstable.nil + unstable.alejandra + unstable.zoxide + unstable.neovide + unstable.nodejs + unstable.corepack + unstable.cargo-watch + unstable.rustup + unstable.go + # unstable. + unstable.jetbrains.idea-community + #unstable.vscode-fhs + unstable.cascadia-code + unstable.jdk17 + unstable.ncdu + unstable.httpie + zed-fhs ]; programs = { diff --git a/os/dev/wezterm.lua b/os/dev/wezterm.lua index 624c9cb..66c9310 100644 --- a/os/dev/wezterm.lua +++ b/os/dev/wezterm.lua @@ -2,7 +2,7 @@ local wezterm = require 'wezterm' local config = wezterm.config_builder() -config.color_scheme = 'Oxocarbon Dark (Gogh)' +config.color_scheme = 'GruvboxDarkHard' config.use_fancy_tab_bar = false config.window_decorations = "RESIZE" config.hide_tab_bar_if_only_one_tab = true diff --git a/os/shell/prompt.json b/os/shell/prompt.json new file mode 100644 index 0000000..21f2107 --- /dev/null +++ b/os/shell/prompt.json @@ -0,0 +1,74 @@ +{ + "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", + "blocks": [ + { + "alignment": "left", + "segments": [ + { + "foreground": "#525252", + "style": "plain", + "template": "\u25b3 ", + "type": "text" + }, + { + "foreground": "#dde1e6", + "properties": { + "folder_separator_icon": " / ", + "home_icon": "home", + "style": "agnoster_full" + }, + "style": "plain", + "template": "{{.Path}} ", + "type": "path" + }, + { + "foreground": "#dde1e6", + "properties": { + "branch_icon": "", + "branch_ahead_icon": "\u21e1 ", + "branch_behind_icon": "\u21e3 ", + "fetch_stash_count": true, + "fetch_status": true, + "fetch_upstream_icon": true, + "github_icon": "" + }, + "style": "plain", + "template": "<#525252>git:({{.HEAD}}<#525252>, {{if .BranchStatus }}{{ .BranchStatus }}{{ end }}{{ if .Working.Changed }}<#dde1e6>*{{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \ueb4b {{ .StashCount }}{{ end }}<#525252>) ", + "type": "git" + } + ], + "type": "prompt" + }, + { + "alignment": "left", + "newline": true, + "segments": [ + { + "foreground": "#fff", + "foreground_templates": [ + "{{if gt .Code 0 }}#BF616A{{ end }}", + "{{if contains .Env.IN_NIX_SHELL \"pure\"}}#81A1C1{{end}}" + ], + "style": "plain", + "template": "\uf441 ", + "type": "text" + } + ], + "type": "prompt" + } + ], + "console_title_template": "{{if .Root}}(root){{end}} {{.PWD}}", + "transient_prompt": { + "foreground": "#fff", + "foreground_templates": [ + "{{if gt .Code 0 }}#BF616A{{ end }}", + "{{if contains .Env.IN_NIX_SHELL \"pure\"}}#81A1C1{{end}}" + ], + "template": "\uf441 " + }, + "secondary_prompt": { + "foreground": "#525252", + "template": "\u25b3 " + }, + "version": 2 +} diff --git a/os/shell/zsh.nix b/os/shell/zsh.nix index 2d5317d..424ddda 100644 --- a/os/shell/zsh.nix +++ b/os/shell/zsh.nix @@ -9,6 +9,8 @@ programs.nix-index.enableZshIntegration = true; home.packages = [ pkgs.unstable.steam-run + pkgs.delta + pkgs.bottom ]; programs.wezterm.enableZshIntegration = true; @@ -130,7 +132,7 @@ bindkey -M viins '^[^[' sudo-command-line # prompt init - eval "$(${pkgs.oh-my-posh}/bin/oh-my-posh init zsh --config ${./prompt-zen.toml})" + eval "$(${pkgs.oh-my-posh}/bin/oh-my-posh init zsh --config ${./prompt.json})" ''; dirHashes = { dl = "${config.home.homeDirectory}/Downloads"; @@ -138,8 +140,8 @@ src = "${config.home.homeDirectory}/src"; dots = "${config.home.homeDirectory}/nix"; nix = "${config.home.homeDirectory}/nix"; - pics = "${config.home.homeDirectory}/Documents"; - vids = "${config.home.homeDirectory}/Documents"; + pics = "${config.home.homeDirectory}/Pictures"; + vids = "${config.home.homeDirectory}/Videos"; }; sessionVariables = { DIRENV_LOG_FORMAT = ""; @@ -182,7 +184,6 @@ cr = "code -r"; cw = "code --wait"; glg = "git lg"; - ghr = "gh repo"; serve = "python3 -m http.server"; ytmp3 = "yt-dlp --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --embed-thumbnail --embed-metadata --output '%(title)s.%(ext)s'"; }; diff --git a/os/styling.nix b/os/styling.nix index fa2e13f..74f2393 100644 --- a/os/styling.nix +++ b/os/styling.nix @@ -1,25 +1,36 @@ {pkgs, ...}: { - stylix.base16Scheme = { - # oxocarbon dark - base00 = "161616"; - base01 = "262626"; - base02 = "393939"; - base03 = "525252"; - base04 = "dde1e6"; - base05 = "f2f4f8"; - base06 = "ffffff"; - base07 = "08bdba"; - base08 = "3ddbd9"; - base09 = "78a9ff"; - base0A = "ee5396"; - base0B = "33b1ff"; - base0C = "ff7eb6"; - base0D = "42be65"; - base0E = "be95ff"; - base0F = "82cfff"; + stylix.enable = true; + + # stylix.base16Scheme = { + # # oxocarbon dark + # base00 = "161616"; + # base01 = "262626"; + # base02 = "393939"; + # base03 = "525252"; + # base04 = "dde1e6"; + # base05 = "f2f4f8"; + # base06 = "ffffff"; + # base07 = "08bdba"; + # base08 = "3ddbd9"; + # base09 = "78a9ff"; + # base0A = "ee5396"; + # base0B = "33b1ff"; + # base0C = "ff7eb6"; + # base0D = "42be65"; + # base0E = "be95ff"; + # base0F = "82cfff"; + # }; + + stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; + + stylix.fonts = { + monospace = { + package = pkgs.cascadia-code; + name = "Cascadia Code NF"; + }; }; - stylix.image = ./nix-wallpaper.png; + stylix.image = ./desktop/nix-wallpaper.png; stylix.cursor.package = pkgs.graphite-cursors; stylix.cursor.name = "graphite-dark"; diff --git a/os/users.nix b/os/users.nix index 5c1b8ab..08b5726 100644 --- a/os/users.nix +++ b/os/users.nix @@ -9,9 +9,10 @@ username = "deva"; shell = "zsh"; description = "Deva Waves"; + initialPassword = "12345"; sudoer = true; developer = true; - extraGroups = ["networkmanager" "audio" "docker" "input" "libvirtd" "plugdev" "video" "adbusers"]; + extraGroups = ["networkmanager" "audio" "docker" "input" "libvirtd" "plugdev" "video" "adbusers" "uinput"]; normalUser = true; desktopEnvironment = "gnome"; obs = true; diff --git a/pkgs/default.nix b/pkgs/default.nix index 52e7493..ebbda2b 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,4 +1,5 @@ pkgs: { clone = pkgs.callPackage ./clone.nix {}; disko = pkgs.callPackage ./disko.nix {}; + zed-fhs = pkgs.callPackage ./zed-fhs.nix {}; } diff --git a/pkgs/zed-fhs.nix b/pkgs/zed-fhs.nix new file mode 100644 index 0000000..e194256 --- /dev/null +++ b/pkgs/zed-fhs.nix @@ -0,0 +1,20 @@ +{pkgs}: pkgs.buildFHSUserEnv { + name = "zed"; + targetPkgs = pkgs: with pkgs; [ + unstable.zed-editor + ]; + runScript = "zed"; + desktopItem = pkgs.lib.makeDesktopItem { + name = "zed"; + desktopName = "Zed"; + comment = "A high-performance, multiplayer code editor."; + genericName = "Text Editor"; + exec = "zed %U"; + icon = "zed"; + startupNotify = true; + startupWMClass = "zed"; + mimeTypes = ["text/plain" "inode/directory"]; + categories = [ "Utility" "TextEditor" "Development" "IDE" ]; + keywords = [ "zed" ]; + }; +}