diff --git a/README.md b/README.md index 3857aa9..0190f0a 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,79 @@ btw i use nix :3 -1. install base nixos using the commandline +![](etc/rice.png) -- without ui and bloat -- with this disk config +# How to use Hyprland + +I choose the keybinds, you don't. + +| Keybind | What it does | +|-----------|----------------------| +| `SUPER+Q` | Terminal | +| `SUPER+C` | Close current window | +| `SUPER+E` | File Manager | +| `SUPER+V` | Toggle Floating | +| `SUPER+Q` | Terminal | +| `SUPER+T` | App Launcher | +| `SUPER+P` | Psuedo | +| `SUPER+J` | Toggle Split | +| `SUPER+F` | Fullscreen | + +| Keybind | What it does | +|--------------------|--------------------| +| `SUPER+RightArrow` | Move Focus (right) | +| `SUPER+LeftArrow` | Move Focus (left) | +| `SUPER+DownArrow` | Move Focus (down) | +| `SUPER+UpArrow` | Move Focus (up) | + +| Keybind | What it does | +|--------------------------|----------------------| +| `SUPER+SHIFT+RightArrow` | Window width +100 | +| `SUPER+SHIFT+LeftArrow` | Window width -100 | +| `SUPER+SHIFT+DownArrow` | Window height +100 | +| `SUPER+SHIFT+UpArrow` | Window height -100 | + +| Keybind | What it does | +|-------------------------|-------------------------| +| `SUPER+CTRL+RightArrow` | Swap window pos (right) | +| `SUPER+CTRL+LeftArrow` | Swap window pos (left) | +| `SUPER+CTRL+UpArrow` | Swap window pos (down) | +| `SUPER+CTRL+DownArrow` | Swap window pos (up) | + +| Mouse Keybind | What it does | +|--------------------|----------------| +| `SUPER+MouseLeft` | Move window | +| `SUPER+MouseRight` | Resize window | +| `SUPER+ScrollUp` | Next workspace | +| `SUPER+ScrollDown` | Prev workspace | + +| Keybind | What it does | +|---------------------|------------------------------------------| +| `SUPER+[0-9]` | Switch to workspace X | +| `SUPER+SHIFT+[0-9]` | Move active window to workspace X | +| `SUPER+Z` | Special workspace | +| `SUPER+SHIFT+Z` | Move current window to special Workspace | + +| Keybind | What it does | +|-----------------|------------------------------------------| +| `SUPER+SHIFT+B` | Reload Waybar | +| `CTRL+ALT+DEL` | WLogout | +| `FN+F5` | Prev music track | +| `FN+F6` | Next music track | +| `FN+F7` | Play/Pause music | + +| Keybind | What it does | +|---------------------|------------------------------------------------------------------------------------------------------------------| +| `SUPER+SHIFT+ENTER` | Change wallpaper | +| `SUPER+F1` | Hide waybar | +| `SUPER+F2` | [Roblox](https://roblox.com) [Roblox](https://sober.vinegarhq.org) [Roblox](https://github.com/ocbwoy3/tuxstrap) | +| `SUPER+Space` | Switch Keyboard Layout (English, Latvian) | + +## How to install NixOS + +1. Install base NixOS from the commandline + +- Without UI and bloatware +- Use this disk configuration ``` /dev/sda1 - 1G fat32 fmask=0022 dmask=0022 vfat @@ -11,23 +81,23 @@ btw i use nix :3 # add compress=zstd -/dev/sdb2 - 100% btrfs - subvol root -> / - noatime subvol nix -> /nix - subvol home -> /home - subvol root -> /root +/dev/sdb2 - 100% btrfs, with these subvolumes: + root -> / + [noatime] nix -> /nix + home -> /home + root -> /root ``` -2. create user named 'ocbwoy3' +2. Create user named 'ocbwoy3' -3. run this +3. Run this in order: ```bash cd ~ nix-shell -p git ``` -4. run this inside nix shell +4. Run this inside the `nix-shell` ```bash git clone https://github.com/ocbwoy3/config @@ -35,7 +105,7 @@ cd config sudo nixos-rebuild switch --flake .#default --impure --cores 4 ``` -5. reboot and run this +1. Reboot, run this in your terminal: ```bash mkdir -p /home/ocbwoy3/Pictures/Screenshots @@ -45,16 +115,16 @@ mkdir -p /home/ocbwoy3/Documents mkdir -p /home/ocbwoy3/Projects ``` -6. add to `/etc/resolv.conf` as root +6. Add this to `/etc/resolv.conf` as root ``` nameserver 1.1.1.1 ``` -7. disable `networking.resolvconf.enable = true;` to prevent isp spying +7. Install [Roblox](https://flathub.org/apps/org.vinegarhq.Sober) -8. install roblox - -9. copy asset overlay content folder to `~/.var/app/org.vinegarhq.Sober/data/sober/asset_overlay` +8. `flatpak run org.vinegarhq.Sober`, log into your Roblox account. -10. done +9. Copy asset overlay content folder to `~/.var/app/org.vinegarhq.Sober/data/sober/asset_overlay` + +10. You successfully installed it! diff --git a/etc/rice.png b/etc/rice.png new file mode 100644 index 0000000..6acdb1a Binary files /dev/null and b/etc/rice.png differ diff --git a/flake.lock b/flake.lock index f9882e5..bba9137 100644 --- a/flake.lock +++ b/flake.lock @@ -85,17 +85,14 @@ }, "flake-parts": { "inputs": { - "nixpkgs-lib": [ - "nixvim", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1748821116, + "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1", "type": "github" }, "original": { @@ -614,31 +611,44 @@ "type": "github" } }, - "ixx": { - "inputs": { - "flake-utils": [ - "nixvim", - "nuschtosSearch", - "flake-utils" - ], - "nixpkgs": [ - "nixvim", - "nuschtosSearch", - "nixpkgs" - ] - }, + "mnw": { "locked": { - "lastModified": 1748294338, - "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", - "owner": "NuschtOS", - "repo": "ixx", - "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", + "lastModified": 1748710831, + "narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=", + "owner": "Gerg-L", + "repo": "mnw", + "rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d", "type": "github" }, "original": { - "owner": "NuschtOS", - "ref": "v0.0.8", - "repo": "ixx", + "owner": "Gerg-L", + "repo": "mnw", + "type": "github" + } + }, + "nil": { + "inputs": { + "flake-utils": [ + "nvf", + "flake-utils" + ], + "nixpkgs": [ + "nvf", + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1741118843, + "narHash": "sha256-ggXU3RHv6NgWw+vc+HO4/9n0GPufhTIUjVuLci8Za8c=", + "owner": "oxalica", + "repo": "nil", + "rev": "577d160da311cc7f5042038456a0713e9863d09e", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "nil", "type": "github" } }, @@ -690,6 +700,21 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1748740939, + "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "656a64127e9d791a334452c6b6606d17539476e2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1741992157, @@ -771,6 +796,22 @@ } }, "nixpkgs_5": { + "locked": { + "lastModified": 1749174413, + "narHash": "sha256-urN9UMK5cd1dzhR+Lx0xHeTgBp2MatA5+6g9JaxjuQs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "6ad174a6dc07c7742fc64005265addf87ad08615", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { "locked": { "lastModified": 1743448293, "narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=", @@ -786,49 +827,26 @@ "type": "github" } }, - "nixvim": { + "nvf": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": [ - "nixpkgs" - ], - "nuschtosSearch": "nuschtosSearch", + "flake-utils": "flake-utils_2", + "mnw": "mnw", + "nil": "nil", + "nixpkgs": "nixpkgs_5", "systems": "systems_5" }, "locked": { - "lastModified": 1749635064, - "narHash": "sha256-jgn9AZmwaTJxXeOamOY7QNGw1GYoFP1K1Xm7+UCqqJY=", - "owner": "nix-community", - "repo": "nixvim", - "rev": "46ad5ec05c7e224c85096f5bac8344883b255e79", + "lastModified": 1749631819, + "narHash": "sha256-iy7UuA2I0DaKEUMncTQNFg0bYDX7sa5WCRQTrIWqmEU=", + "owner": "notashelf", + "repo": "nvf", + "rev": "2a2b5e2790b41eadc42758fd6c4d62b7af64f17c", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixvim", - "type": "github" - } - }, - "nuschtosSearch": { - "inputs": { - "flake-utils": "flake-utils_2", - "ixx": "ixx", - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1749531675, - "narHash": "sha256-UB8Mc88rW9frjpJ1Fj2ro7f07Gg8dX3uVXvMXnFR4CE=", - "owner": "NuschtOS", - "repo": "search", - "rev": "4029d450d0266909ee52775849b7da54e79b328e", - "type": "github" - }, - "original": { - "owner": "NuschtOS", - "repo": "search", + "owner": "notashelf", + "repo": "nvf", "type": "github" } }, @@ -885,11 +903,33 @@ "nix-flatpak": "nix-flatpak", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_4", - "nixvim": "nixvim", + "nvf": "nvf", "quickshell": "quickshell", "zen-browser": "zen-browser" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nvf", + "nil", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1741055476, + "narHash": "sha256-52vwEV0oS2lCnx3c/alOFGglujZTLmObit7K8VblnS8=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "aefb7017d710f150970299685e8d8b549d653649", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -1009,7 +1049,7 @@ "zen-browser": { "inputs": { "home-manager": "home-manager_2", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1748377319, diff --git a/flake.nix b/flake.nix index 3b78a51..15e91eb 100644 --- a/flake.nix +++ b/flake.nix @@ -21,10 +21,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - nixvim = { - url = "github:nix-community/nixvim"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + nvf.url = "github:notashelf/nvf"; }; diff --git a/hosts/default/configuration.nix b/hosts/default/configuration.nix index e17971a..07ec0cb 100644 --- a/hosts/default/configuration.nix +++ b/hosts/default/configuration.nix @@ -15,9 +15,30 @@ ./packages.nix # ../../modules/home-manager/hyprpanel.nix ./other/activate.nix - # ./apps/ancs.nix + # ./apps/ancs.nix + inputs.nvf.nixosModules.default ]; + programs.nvf = { + enable = true; + defaultEditor = true; + # withLua = true; + + settings.vim = { + viAlias = true; + vimAlias = true; + statusline.lualine.enable = true; + languages = { + enableLSP = true; + enableTreesitter = true; + + nix.enable = true; + ts.enable = true; + # qml.enable = true; + }; + }; + }; + programs.steam = { enable = true; remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play @@ -193,13 +214,7 @@ accent = "blue"; }; - home-manager.users.ocbwoy3 = { config, pkgs, ... }: { - - programs.neovim = { - defaultEditor = true; - viAlias = true; - vimAlias = true; - }; + home-manager.users.ocbwoy3 = { programs, config, pkgs, ... }: { imports = [ inputs.catppuccin.homeModules.catppuccin diff --git a/scripts/shell/Bar.qml b/scripts/shell/Bar.qml index e878e05..901a32a 100644 --- a/scripts/shell/Bar.qml +++ b/scripts/shell/Bar.qml @@ -1,20 +1,31 @@ import Quickshell // for PanelWindow import QtQuick // for Text +import QtQuick.Controls import Quickshell.Services.Mpris PanelWindow { - anchors { - top: true - left: true - right: true - } + anchors { + top: true + left: true + right: true + } - implicitHeight: 30 + implicitHeight: 30 - Text { - // center the bar in its parent component (the window) - anchors.centerIn: parent + Text { + anchors.verticalCenter: parent.verticalCenter + text: Mpris.nowPlaying ? `Now Playing: ${Mpris.nowPlaying.title} - ${Mpris.nowPlaying.artist}` : "No music playing" + Connections { + target: Mpris + onNowPlayingChanged: text = Mpris.nowPlaying ? `Now Playing: ${Mpris.nowPlaying.title} - ${Mpris.nowPlaying.artist}` : "No music playing" + } + } - text: "hello world" - } + Button { + text: "aaa" + onClicked: ()=>{ + console.log(JSON.stringify(Mpris.players.values.map(a=>`${a.trackArtist} - ${a.trackTitle}`),undefined,"\t")) + console.log(MprisPlaybackState) + } + } }