neovim is superior btw!; also attempted to explain my rice

This commit is contained in:
2025-06-13 20:07:39 +03:00
parent 40fb5a6ea5
commit 0fdc141066
6 changed files with 239 additions and 106 deletions

106
README.md
View File

@@ -1,9 +1,79 @@
btw i use nix :3 btw i use nix :3
1. install base nixos using the commandline ![](etc/rice.png)
- without ui and bloat # How to use Hyprland
- with this disk config
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 /dev/sda1 - 1G fat32 fmask=0022 dmask=0022 vfat
@@ -11,23 +81,23 @@ btw i use nix :3
# add compress=zstd # add compress=zstd
/dev/sdb2 - 100% btrfs /dev/sdb2 - 100% btrfs, with these subvolumes:
subvol root -> / root -> /
noatime subvol nix -> /nix [noatime] nix -> /nix
subvol home -> /home home -> /home
subvol root -> /root root -> /root
``` ```
2. create user named 'ocbwoy3' 2. Create user named 'ocbwoy3'
3. run this 3. Run this in order:
```bash ```bash
cd ~ cd ~
nix-shell -p git nix-shell -p git
``` ```
4. run this inside nix shell 4. Run this inside the `nix-shell`
```bash ```bash
git clone https://github.com/ocbwoy3/config git clone https://github.com/ocbwoy3/config
@@ -35,7 +105,7 @@ cd config
sudo nixos-rebuild switch --flake .#default --impure --cores 4 sudo nixos-rebuild switch --flake .#default --impure --cores 4
``` ```
5. reboot and run this 1. Reboot, run this in your terminal:
```bash ```bash
mkdir -p /home/ocbwoy3/Pictures/Screenshots mkdir -p /home/ocbwoy3/Pictures/Screenshots
@@ -45,16 +115,16 @@ mkdir -p /home/ocbwoy3/Documents
mkdir -p /home/ocbwoy3/Projects 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 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 8. `flatpak run org.vinegarhq.Sober`, log into your Roblox account.
9. copy asset overlay content folder to `~/.var/app/org.vinegarhq.Sober/data/sober/asset_overlay`
10. done 9. Copy asset overlay content folder to `~/.var/app/org.vinegarhq.Sober/data/sober/asset_overlay`
10. You successfully installed it!

BIN
etc/rice.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 MiB

170
flake.lock generated
View File

@@ -85,17 +85,14 @@
}, },
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": "nixpkgs-lib"
"nixvim",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1749398372, "lastModified": 1748821116,
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -614,31 +611,44 @@
"type": "github" "type": "github"
} }
}, },
"ixx": { "mnw": {
"inputs": {
"flake-utils": [
"nixvim",
"nuschtosSearch",
"flake-utils"
],
"nixpkgs": [
"nixvim",
"nuschtosSearch",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1748294338, "lastModified": 1748710831,
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", "narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=",
"owner": "NuschtOS", "owner": "Gerg-L",
"repo": "ixx", "repo": "mnw",
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", "rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NuschtOS", "owner": "Gerg-L",
"ref": "v0.0.8", "repo": "mnw",
"repo": "ixx", "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" "type": "github"
} }
}, },
@@ -690,6 +700,21 @@
"type": "github" "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": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1741992157, "lastModified": 1741992157,
@@ -771,6 +796,22 @@
} }
}, },
"nixpkgs_5": { "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": { "locked": {
"lastModified": 1743448293, "lastModified": 1743448293,
"narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=", "narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=",
@@ -786,49 +827,26 @@
"type": "github" "type": "github"
} }
}, },
"nixvim": { "nvf": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": [ "flake-utils": "flake-utils_2",
"nixpkgs" "mnw": "mnw",
], "nil": "nil",
"nuschtosSearch": "nuschtosSearch", "nixpkgs": "nixpkgs_5",
"systems": "systems_5" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1749635064, "lastModified": 1749631819,
"narHash": "sha256-jgn9AZmwaTJxXeOamOY7QNGw1GYoFP1K1Xm7+UCqqJY=", "narHash": "sha256-iy7UuA2I0DaKEUMncTQNFg0bYDX7sa5WCRQTrIWqmEU=",
"owner": "nix-community", "owner": "notashelf",
"repo": "nixvim", "repo": "nvf",
"rev": "46ad5ec05c7e224c85096f5bac8344883b255e79", "rev": "2a2b5e2790b41eadc42758fd6c4d62b7af64f17c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "notashelf",
"repo": "nixvim", "repo": "nvf",
"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",
"type": "github" "type": "github"
} }
}, },
@@ -885,11 +903,33 @@
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"nixvim": "nixvim", "nvf": "nvf",
"quickshell": "quickshell", "quickshell": "quickshell",
"zen-browser": "zen-browser" "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": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@@ -1009,7 +1049,7 @@
"zen-browser": { "zen-browser": {
"inputs": { "inputs": {
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_6"
}, },
"locked": { "locked": {
"lastModified": 1748377319, "lastModified": 1748377319,

View File

@@ -21,10 +21,7 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixvim = { nvf.url = "github:notashelf/nvf";
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };

View File

@@ -15,9 +15,30 @@
./packages.nix ./packages.nix
# ../../modules/home-manager/hyprpanel.nix # ../../modules/home-manager/hyprpanel.nix
./other/activate.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 = { programs.steam = {
enable = true; enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
@@ -193,13 +214,7 @@
accent = "blue"; accent = "blue";
}; };
home-manager.users.ocbwoy3 = { config, pkgs, ... }: { home-manager.users.ocbwoy3 = { programs, config, pkgs, ... }: {
programs.neovim = {
defaultEditor = true;
viAlias = true;
vimAlias = true;
};
imports = [ imports = [
inputs.catppuccin.homeModules.catppuccin inputs.catppuccin.homeModules.catppuccin

View File

@@ -1,20 +1,31 @@
import Quickshell // for PanelWindow import Quickshell // for PanelWindow
import QtQuick // for Text import QtQuick // for Text
import QtQuick.Controls
import Quickshell.Services.Mpris import Quickshell.Services.Mpris
PanelWindow { PanelWindow {
anchors { anchors {
top: true top: true
left: true left: true
right: true right: true
} }
implicitHeight: 30 implicitHeight: 30
Text { Text {
// center the bar in its parent component (the window) anchors.verticalCenter: parent.verticalCenter
anchors.centerIn: parent 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)
}
}
} }