aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: a3d420b7b2a1a9592cefb268853ec6418971462e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<h1 align="center">
  <br>
    Pegasus Config
  <br>
</h1>
<h4 align="center">
  A configuration for NixOS + Hyprland<br>
  An opinionated setup for programmers who don't believe in auto complete
</h4>

<p align="center">
  <a href="#installation">Installation</a> •
  <a href="#customization">Customization</a> •
  <a href="#docs">Docs</a>
</p>

Look at showcase/ for images of the rice

## Installation
Adjust username, hostname and download destination in flake.nix according to your needs<br>
then
```
chmod +x install.sh
./install.sh
```

Then for any changes in nixos/ would require
```
chmod +x nix.sh
./nix.sh
```

For system update
```
nix flake update
./nix.sh
```

## Customization
You can use this project outside of NixOS as well, just by ignoring the nixos directory.<br>
But make sure you download all the dependencies that are used in nixos/desktop-environment.nix<br>

## Docs

### Features
- ly Display Manager for login
- hyprland as desktop environment
- tmux for terminal sessions
- foot as terminal
- quickshell for top bar & elements
- hyprsunset for nightlight
- hyprlock for lock screen
- nvim using NvChad
- tmux
- yazi for file exploring

### Hyprland
Low battery warning notifications<br>

- 30% (Low)
- 15% (Critical)

Change these values in quickshell/shell.qml(look for "redBatteryPoint" & "orangeBatteryPoint") & hypr/battery-notif.sh<br>
<br>

### Quickshell

Configure in quickshell/shell.qml<br>


|Label|Description|
|-|-|
|Radio|Network info, clicking it will open NetworkManager|
|Low Energy|Bluetooth, clicking it will open blue-tui|
|Electrons|Battery %, When charging the % will be wrapped in "AC/DC()", e.g. AC/DC(50)|
|Waves|Volume, clicking it will mute|
|Photons|Brightness %|
|Photons Bracket|Red shift (Night light), 6000 is normal, lower value is redder, higher value is bluer|
|Radiation|CPU Temperature in Kelvin|
|Latch|RAM Usage|
|Data Bus|CPU Speed|
|Spin|Time|

### Keyboard shortcuts
Configure in hypr/hyprland/keybinds.conf

I am left handed so my mouse is in left handed mode<br>
IF YOU ARE NOT LEFT HANDED, change this in hypr/hyprland/input.conf:input:left_handed<bgr>


|Keybind|Description|
|-|-|
|Win + T|**Spawn Terminal** (foot)|
|Win + Q|Kill active window|
|Win + Shift + L|Sign out|
|Win + L|Lock|
|Win + E|Spawn File Explorer (yazi)|
|Win + F|Make active window floating|
|Win + R|**Spawn App Menu**|
|Win + P|Pseudo ??? (I don't know what this is used for)|
|Win + J|Toggle window split|
|Ctrl + Shift + Escape|Spawn Task Manager (btop)|
|Win + arrow keys|Move focus of window|
|Win + [1-9]|Switch workspace|
|Win + S|Switch to Special workspace|
|Win + Shift + S|Move current window to Special workspace|
|Win + Ctrl + S|Move current window from Special workspace to current workspace|
|Win + Left click|Resize window|
|Win + Right click|Move window|
|PrintSrc|Take a fullscreen screenshot and save it in ~/Pictures/Screenshots|
|Shift + PrintSrc|Take a partial screen screenshot and save it in ~/Pictures/Screenshots|
|Win + PrintSrc|Take a partial screen screenshot and copy it to clipboard|
|Win + Shift + R|Start/Stop screen recording (without audio)|
|Win + =|Zoom in/out|
|Win + \[|Increase red shift (night light)|
|Win + \]|Decrease red shift|

### Fonts
Jetbrains Mono Nerd Font

### Programming Language setup
Configure in nixos/languages<br>

- Zig
- Elixir & Erlang
- C
- Go
- Javascript & Typescript
- Lua
- Python
- Rust

### Programming Tools
Configure in nixos/environment.nix<br>

- clang-tools
- android-tools
- Vim & Nvim
- git & git-lfs
- nmap
- lazygit
- fzf

### Applications
Configure in nixos/apps.nix<br>

- Google Chrome
- Gimp
- Localsend
- Obsidian
- OBS Studio
- Wine
- Libreoffice
- Dolphin
- Zen Browser
- VLC

### Games
Configure in nixos/games<br>

- Minecraft (Prism Launcher)
- Steam (Comes installed with the Assetto Corsa compatible Proton version)