Full Code of ReadTheFuckingManual/nixos for AI

main c95ede1f432f cached
91 files
60.9 KB
17.4k tokens
1 requests
Download .txt
Repository: ReadTheFuckingManual/nixos
Branch: main
Commit: c95ede1f432f
Files: 91
Total size: 60.9 KB

Directory structure:
gitextract_o302r6h3/

├── .gitignore
├── README.md
├── asset/
│   └── ascii/
│       └── onepiece/
│           └── 01.txt
├── config/
│   └── hypr/
│       ├── configs/
│       │   ├── animation.conf
│       │   ├── autostart.conf
│       │   ├── decoration.conf
│       │   ├── env.conf
│       │   ├── input.conf
│       │   ├── keybinding.conf
│       │   ├── layout.conf
│       │   ├── misc.conf
│       │   ├── monitor.conf
│       │   ├── window.conf
│       │   └── windowrule.conf
│       └── hyprland.conf
├── configuration.nix
├── docs/
│   └── upgrade-channel.md
├── home-manager/
│   ├── default.nix
│   ├── font/
│   │   ├── default.nix
│   │   └── font.nix
│   ├── package/
│   │   ├── default.nix
│   │   ├── gui/
│   │   │   ├── browser.nix
│   │   │   ├── default.nix
│   │   │   ├── gedit.nix
│   │   │   ├── github.nix
│   │   │   ├── libreOffice.nix
│   │   │   ├── protonVpn.nix
│   │   │   ├── telegram.nix
│   │   │   └── virtualBox.nix
│   │   ├── programming/
│   │   │   ├── default.nix
│   │   │   ├── java.nix
│   │   │   ├── nodeJs.nix
│   │   │   └── rust.nix
│   │   └── tui/
│   │       ├── default.nix
│   │       └── tui.nix
│   └── program/
│       ├── alacritty.nix
│       ├── awsCli.nix
│       ├── bash.nix
│       ├── bat.nix
│       ├── bottom.nix
│       ├── cava.nix
│       ├── chromium.nix
│       ├── default.nix
│       ├── eza.nix
│       ├── fastFetch.nix
│       ├── firefox.nix
│       ├── fzf.nix
│       ├── git.nix
│       ├── gitLfs.nix
│       ├── githubCli.nix
│       ├── go.nix
│       ├── jq.nix
│       ├── kitty.nix
│       ├── neovim.nix
│       ├── ripgrep.nix
│       ├── starship.nix
│       ├── tmux.nix
│       ├── vsCode.nix
│       ├── waybar.nix
│       ├── yazi.nix
│       ├── zellij.nix
│       └── zoxide.nix
└── nixos/
    ├── default.nix
    ├── hardware/
    │   ├── boot.nix
    │   ├── default.nix
    │   ├── fileSystem.nix
    │   ├── networking.nix
    │   ├── platform.nix
    │   ├── processor.nix
    │   └── swapDevice.nix
    ├── program/
    │   ├── default.nix
    │   └── nix-ld.nix
    ├── service/
    │   ├── default.nix
    │   ├── mySql.nix
    │   ├── nginx.nix
    │   ├── pipewire.nix
    │   ├── postgreSQL.nix
    │   ├── printing.nix
    │   ├── rabbitMq.nix
    │   └── wm-and-dm.nix
    ├── system/
    │   ├── boot.nix
    │   ├── default.nix
    │   ├── environment.nix
    │   ├── locale.nix
    │   ├── networking.nix
    │   ├── nixpkgs.nix
    │   ├── security.nix
    │   ├── timeZone.nix
    │   └── user.nix
    └── virtualisation/
        ├── default.nix
        └── docker.nix

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
result

#
.idea

================================================
FILE: README.md
================================================
# 🛠️ Installation

___

- #### Make a backup of your current `nixos` configurations:
```shell
doas mv /etc/nixos{,.bak}
```
- #### Clone the starter:
```shell
doas git clone git@github.com:EkoEdyPurwanto/nixos.git /etc/
```
- #### Remove the `.git` folder, so you can add it to your own repo later:
```shell
doas rm -rf /etc/nixos/.git
```
> ### Note:
>> if you're not using `doas`, replace with `sudo`

___

================================================
FILE: asset/ascii/onepiece/01.txt
================================================

      ╦╩╨╨╩╦                                      ╓╧╩╨╩╦
     ╫      ╫            ╓╥╦╦╗╗╗╗╦╦╥╥            ╟╩     ╫
  ╦╨╙╙     ╔╩        ╥╦╩╨╙╙╙╙╙╙╙╙╙╙╙╙╙╨╗╥        ╚╦     ╙╨╨╦
 ╫         ╙╩╦    ╓╫╩╙╓╓╙╙╙╙╙╙╙╙╙╙╙╙╙╙╙╓╙╨╫╥    ╓╝╨         ╫
 ╙╦    ╥      ╨╦╓╣╩─╓╫╩╓╫┬╥╓╙╙╙╙╙╙╙╙╙╦╖╙╫╦╓╙╫╥╦╩└     ╓    ╓╩
   ╙╨╨╨ ╨╦┌    ╓╫╫╓╓╟╓╓╫╓╟╫╓╓╓╓╓╓╓╓╓╓╟╫╓╓╫╬╓╟╫╦     ╦╩└╨╨╩╨└
          ╙╣╥  ╫╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╟╣╦ ╓╦╨
             ╨╫╫╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╫╩╨
      ╫╩╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╨╣
      ╨╩╝╝╝╝╝╝╣╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╫╝╝╝╝╝╝╝╝
              ╚╫     ╓╦╫╫╫╦╦      ╓╦╫╫╫╦╥     ╓╫
               ╫╦   ╓╫╫╫╫╫╫╫╫    ╟╫╫╫╫╫╫╫╫    ╫
                ╨╦  ╙╫╫╫╫╫╫╫╫    ╟╫╫╫╫╫╫╫╫  ╓╫─
                 ╙╫╥ ╙╩╫╫╫╫╩      ╨╫╫╫╫╫╩  ╦╩
                   ╙╫╥        ╫╫╫       ╓╫╩
                    ╦╫╩╩╗╦╥╓      ╓╓╥╦╩╫╫╦
                 ╓╫╨ ╫╓   ╫ └╙╙╫╙╙ ╫    ╫ ╨╗╥
               ╥╩└  ╟╛ ╨╩╣╦╥╓ ╓╫ ╓╥╫╦╧╨╨╙╦  ╙╩╦
       ╓╦╝╩╗╥╦╩     ╫╩╦╓ ╫    ╙╫   ╘╫  ╓╦╫     ╨╦╥╦╧═╦╓
      ╟╩          ╓╦╫─  ╨╨╤╦╥╥╥╫╥╥╦╗╩╨╨  ╫╦           ╙╦
      ╟╕        ╓╩╨ ╙╫                  ╟╛ ╙╣╥        ╓╩
       ╙╩╦╦      ╫   ╙╦                ╦╨   ╫      ╦╦╩╨
          ╫╥    ╓╩     ╨╤╥┌         ╓╦╨     ╫╥    ╓╩
           ╙╨╧╧╩╨          ╙╨╨╨╨╨╨╨└         ╙╩══╩╨


================================================
FILE: config/hypr/configs/animation.conf
================================================
#################
### ANIMATION ###
#################

# https://wiki.hyprland.org/Configuring/Variables/#animations
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

animations {
    enabled = true

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05

    animation = windows, 1, 7, myBezier
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 10, default
    animation = borderangle, 1, 8, default
    animation = fade, 1, 7, default
    animation = workspaces, 1, 6, default
}

================================================
FILE: config/hypr/configs/autostart.conf
================================================
#################
### AUTOSTART ###
#################

# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:

exec-once = nm-applet &
exec-once = waybar
exec-once= waypaper --restore

================================================
FILE: config/hypr/configs/decoration.conf
================================================
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
    rounding = 10

    # Change transparency of focused and unfocused windows
    active_opacity = 1.0
    inactive_opacity = 1.0

    # drop_shadow = true
    # shadow_range = 4
    # shadow_render_power = 3
    # col.shadow = rgba(1a1a1aee)

    # https://wiki.hyprland.org/Configuring/Variables/#blur
    blur {
        enabled = true
        size = 3
        passes = 1
        
        vibrancy = 0.1696
    }
}


================================================
FILE: config/hypr/configs/env.conf
================================================
#############################
### ENVIRONMENT VARIABLES ###
#############################

# See https://wiki.hyprland.org/Configuring/Environment-variables/

env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24

================================================
FILE: config/hypr/configs/input.conf
================================================
#############
### INPUT ###
#############

# https://wiki.hyprland.org/Configuring/Variables/#input
input {
    kb_layout = us
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =

    follow_mouse = 1

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.

    touchpad {
        natural_scroll = true
    }
}

================================================
FILE: config/hypr/configs/keybinding.conf
================================================
###################
### MY PROGRAMS ###
###################

# See https://wiki.hyprland.org/Configuring/Keywords/

# Set programs that you use
$kitty-terminal = kitty
$alacritty-terminal = alacritty
$vs-code = code
$telegram = telegram-desktop
$fileManager = kitty -e yazi
$menu = rofi -show drun
$browser = chromium
$tor-browser = tor-browser

####################
### KEYBINDING ###
####################

# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, T, exec, $kitty-terminal
bind = $mainMod SHIFT, T, exec, $alacritty-terminal
bind = $mainMod, period, exec, code
bind = $mainMod, B, exec, $browser
bind = $mainMod SHIFT, B, exec, $tor-browser
bind = $mainMod, X, exec, $telegram
bind = $mainMod, F, exec, $fileManager
bind = $mainMod, R, exec, $menu
bind = $mainMod, Q, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, V, togglefloating,
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, PRINT, exec, hyprshot -m window # Screenshot a window
bind = , PRINT, exec, hyprshot -m output # Screenshot a monitor
bind = $shiftMod, PRINT, exec, hyprshot -m region # Screenshot a region

# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d

# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10

# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic

# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

###########################################
# Fn KEYS
###########################################
# Brightness
bind = , XF86MonBrightnessUp, exec, brightnessctl set 1%+
bind = , XF86MonBrightnessDown, exec, brightnessctl set 1%-

# Volume
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_SINK@ 1%+
bind = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_SINK@ 1%-
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle

================================================
FILE: config/hypr/configs/layout.conf
================================================
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
    pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = true # You probably want this
}

# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
    new_status = master
}

# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
    workspace_swipe = false
}

================================================
FILE: config/hypr/configs/misc.conf
================================================
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc { 
    force_default_wallpaper = 2 # Set to 0 or 1 to disable the anime mascot wallpapers. set 2 to choose anime mascot wallpapers. and -1 for random wallpaper
    disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}

================================================
FILE: config/hypr/configs/monitor.conf
================================================
################
### MONITORS ###
################

# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,auto

================================================
FILE: config/hypr/configs/window.conf
================================================
#####################
### LOOK AND FEEL ###
#####################

# Refer to https://wiki.hyprland.org/Configuring/Variables/

# https://wiki.hyprland.org/Configuring/Variables/#general
general { 
    gaps_in = 5
    gaps_out = 20

    border_size = 2

    # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
    col.active_border = rgba(dededeff) rgba(dededeff) 45deg
    col.inactive_border = rgba(595959aa)


    # Set to true enable resizing windows by clicking and dragging on borders and gaps
    resize_on_border = true 

    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
    allow_tearing = false

    layout = dwindle
}

================================================
FILE: config/hypr/configs/windowrule.conf
================================================
##############################
### WINDOWS AND WORKSPACES ###
##############################

# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules

# Example windowrule v1
# windowrule = float, ^(kitty)$

# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$

windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
windowrulev2 = minsize 450 450, class:.*


================================================
FILE: config/hypr/hyprland.conf
================================================
# ███████╗ ██████╗ ██╗   ██╗██████╗  ██████╗██╗███╗   ██╗ ██████╗ 
# ██╔════╝██╔═══██╗██║   ██║██╔══██╗██╔════╝██║████╗  ██║██╔════╝ 
# ███████╗██║   ██║██║   ██║██████╔╝██║     ██║██╔██╗ ██║██║  ███╗
# ╚════██║██║   ██║██║   ██║██╔══██╗██║     ██║██║╚██╗██║██║   ██║
# ███████║╚██████╔╝╚██████╔╝██║  ██║╚██████╗██║██║ ╚████║╚██████╔╝
# ╚══════╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝ ╚═════╝╚═╝╚═╝  ╚═══╝ ╚═════╝ 
                                                                
source = ~/.config/hypr/configs/animation.conf
source = ~/.config/hypr/configs/autostart.conf
source = ~/.config/hypr/configs/decoration.conf
source = ~/.config/hypr/configs/env.conf
source = ~/.config/hypr/configs/input.conf
source = ~/.config/hypr/configs/keybinding.conf
source = ~/.config/hypr/configs/layout.conf
source = ~/.config/hypr/configs/misc.conf
source = ~/.config/hypr/configs/monitor.conf
source = ~/.config/hypr/configs/window.conf
source = ~/.config/hypr/configs/windowrule.conf

# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
    name = epic-mouse-v1
    sensitivity = -0.5
}

================================================
FILE: configuration.nix
================================================
{ config, ... }:

{
    imports = [
        ./nixos
        ./home-manager
    ];

    # Activation script untuk membuat symlink ~/.config/hypr
    system.activationScripts.linkHyprlandConfig = {
        text = ''
            TARGET="/home/eep/.config/hypr"
            SOURCE="/etc/nixos/config/hypr"

            # Pastikan source ada
            if [ ! -d "$SOURCE" ]; then
                echo "❌ Folder source tidak ditemukan: $SOURCE"
                exit 1
            fi

            # Kalau target ada tapi bukan symlink, hapus
            if [ -e "$TARGET" ] && [ ! -L "$TARGET" ]; then
                echo "⚠️ Menghapus folder lama: $TARGET"
                rm -rf "$TARGET"
            fi

            # Buat symlink
            ln -sfn "$SOURCE" "$TARGET"

            echo "✅ Hyprland config di-link ke $TARGET"
        '';
    };
}


================================================
FILE: docs/upgrade-channel.md
================================================
# Upgrade NixOS & Home-Manager(MODULE) dari **old.version** ke **new.version**

Dokumentasi ini menjelaskan langkah-langkah untuk mengganti channel
**NixOS** dan **Home-Manager** dari versi **24.11** ke **25.05**.

---

## 1. Cek Channel Aktif

```bash
doas nix-channel --list
```

Biasanya hasilnya:

    home-manager https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz
    nixos https://nixos.org/channels/nixos-24.11

---

## 2. Hapus Channel Lama

```bash
doas nix-channel --remove nixos
doas nix-channel --remove home-manager
```

---

## 3. Tambahkan Channel Baru (25.05)

```bash
doas nix-channel --add https://nixos.org/channels/nixos-25.05 nixos
doas nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz home-manager
```

---

## 4. Update Channel

```bash
doas nix-channel --update
```

---

## 5. Build System dan Home-Manager

- **System (NixOS):**

```bash
doas nixos-rebuild switch
```

note:

- fix configurasi yang error karna biasanya configurasi yang lama ada beberapa yang sudah tidak relevan atau di ganti.
- jika sudah di fix jalankan ulang **doas nixos-rebuild switch**

---

## 6. Source

```bash
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
```

---

## 7. Cek Hasil

```bash
nixos-version
home-manager --version # tidak perlu di check karna pake module, kalo di check pasti not found
```

Pastikan nixos-version sudah di versi **25.05**.

---

## Catatan

- Pindah channel berarti upgrade release. Bisa jadi ada perubahan
  besar (kernel, systemd, dsb). Baca dulu [Release Notes NixOS](https://nixos.org/manual/nixos/stable/release-notes).


================================================
FILE: home-manager/default.nix
================================================
{ ... }:

let
    name = "eep";
    ver = "25.05";
in {
    imports = [
        <home-manager/nixos>
        ./program
        ./font
        ./package
    ];

    home-manager = {
        useGlobalPkgs = true;
        users.${name} = {
            home = {
                username = "${name}";
                homeDirectory = "/home/${name}";
                stateVersion = "${ver}";
            };
        };
    };
}


================================================
FILE: home-manager/font/default.nix
================================================
{ ... }:

{
    imports = [
        ./font.nix
    ];
}


================================================
FILE: home-manager/font/font.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            fonts.fontconfig.enable = true;
            home.packages = with pkgs; [
                nerd-fonts.fira-code
                nerd-fonts.jetbrains-mono
                nerd-fonts.iosevka
                nerd-fonts.iosevka-term
                nerd-fonts.bigblue-terminal
                nerd-fonts.symbols-only
            ];
        };
    };
}

================================================
FILE: home-manager/package/default.nix
================================================
{ ... }:

{
    imports = [
        ./gui
        ./programming
        ./tui
    ];
}


================================================
FILE: home-manager/package/gui/browser.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            home = {
                packages = with pkgs; [
                    brave
                    mullvad-browser
                    # tor-browser
                ];
            };
        };
    };
}


================================================
FILE: home-manager/package/gui/default.nix
================================================
{ ... }:

{
    imports = [
        ./browser.nix
        ./gedit.nix
        # ./github.nix
        ./libreOffice.nix
        # ./protonVpn.nix
        ./telegram.nix
        # ./virtualBox.nix
    ];
}


================================================
FILE: home-manager/package/gui/gedit.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            home = {
                packages = with pkgs; [
                    gedit
                ];
            };
        };
    };
}


================================================
FILE: home-manager/package/gui/github.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            home = {
                packages = with pkgs; [
                    github-desktop
                ];
            };
        };
    };
}


================================================
FILE: home-manager/package/gui/libreOffice.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            home = {
                packages = with pkgs; [
                    libreoffice
                ];
            };
        };
    };
}


================================================
FILE: home-manager/package/gui/protonVpn.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            home = {
                packages = with pkgs; [
                    protonvpn-gui
                ];
            };
        };
    };
}


================================================
FILE: home-manager/package/gui/telegram.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            home = {
                packages = with pkgs; [
                    telegram-desktop
                ];
            };
        };
    };
}


================================================
FILE: home-manager/package/gui/virtualBox.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            home = {
                packages = with pkgs; [
                    virtualbox
                ];
            };
        };
    };
}


================================================
FILE: home-manager/package/programming/default.nix
================================================
{ ... }:

{
    imports = [
        # ./java.nix
        ./nodeJs.nix
        ./rust.nix
    ];
}


================================================
FILE: home-manager/package/programming/java.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            home = {
                packages = with pkgs; [
                    jdk17
                ];
            };
        };
    };
}


================================================
FILE: home-manager/package/programming/nodeJs.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            home = {
                packages = with pkgs; [
                    nodejs_22
                    typescript
                ];
            };
        };
    };
}


================================================
FILE: home-manager/package/programming/rust.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            home = {
                packages = with pkgs; [
                    rustup
                ];
            };
        };
    };
}


================================================
FILE: home-manager/package/tui/default.nix
================================================
{ ... }:

{
    imports = [
        ./tui.nix
    ];
}


================================================
FILE: home-manager/package/tui/tui.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            home = {
                packages = with pkgs; [
                    ### TUI ###
                    wtfutil         # wtfutil for run
                    pipes           # pipes.sh for run
                    cmatrix         # matrix like hengker pro Tzy
                    cbonsai         # bonsai ASCII art
                    tty-clock       # to display the current time on terminal
                    # cointop       # cryptocurrency tracking like htop
                    networkmanagerapplet
                ];
            };
        };
    };
}


================================================
FILE: home-manager/program/alacritty.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                alacritty = {
                    enable = false;
                    package = pkgs.alacritty;
                    settings = {
                        font = {
                            size          = 12;
                            normal.family = "JetBrainsMono Nerd Font";
                            bold.family   = "JetBrainsMono Nerd Font";
                            italic.family = "JetBrainsMono Nerd Font";
                        };
                        window = {
                            opacity                   = 0.80;
                            title                     = "󰲋  ";
                            decorations               = "Full";
                            decorations_theme_variant = "None";
                        };
                        scrolling = {
                            history    = 10000;
                            multiplier = 3;
                        };
                        mouse = {
                            hide_when_typing = false;
                        };
                        cursor = {
                            style = "Beam";
                        };
                    };
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/awsCli.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                awscli = {
                    enable  = false;
                    package = pkgs.awscli2;
                    # settings = {};
                    # credentials = {};
                };
            };
        };
    };
}

================================================
FILE: home-manager/program/bash.nix
================================================
{ ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                bash = {
                    enable = true;
                    enableCompletion = true;
                    shellAliases = {
                        ### EZA ###
                        ls  = "eza";
                        la  = "eza -a";
                        ll  = "eza -l";
                        lla = "eza -la";
                        lt  = "eza --tree";
                        ### TRASHY ###
                        rm     = "trash put";              # putting something into the trash folder
                        tlis   = "trash list";             # check the list in the trash folder
                        tres   = "trash restore";          # restore something that was in the trash folder
                        tempty = "trash empty --all";      # emptying the trash folder
                        ### BAT ###
                        cat = "bat";
                    };
                    bashrcExtra = "complete -cf doas";
                    initExtra   = "fastfetch";
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/bat.nix
================================================
{ pkgs, ... }:

let
  name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                bat = {
                    enable = true;
                    config = {
                        theme = "ansi"; 
                    };
                };
            };
        };
    };
}



================================================
FILE: home-manager/program/bottom.nix
================================================
{ ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                bottom = {
                    enable = true;
                    settings = {
                        styles = {
                            theme = "gruvbox";
                        };
                        flags = {
                            avg_cpu          = true;
                            temperature_type = "c";
                        };
                        colors = {
                            low_battery_color = "red";
                        };
                    };
                };
            };
        };
    };
}

# RESOURCE: https://github.com/ClementTsang/bottom

================================================
FILE: home-manager/program/cava.nix
================================================
{ ... }:

let
    name = "eep";

    # colors with quotation marks
    blue_1 = "'#99C1F1'";
    blue_2 = "'#62A0EA'";
    blue_3 = "'#3584E4'";
    blue_4 = "'#1C71D8'";
    blue_5 = "'#1A5FB4'";
    green_1 = "'#8FF0A4'";
    green_2 = "'#57E389'";
    green_3 = "'#33D17A'";
    green_4 = "'#2EC27E'";
    green_5 = "'#26A269'";
    yellow_1 = "'#F9F06B'";
    yellow_2 = "'#F8E45C'";
    yellow_3 = "'#F6D32D'";
    yellow_4 = "'#F5C211'";
    yellow_5 = "'#E5A50A'";
    orange_1 = "'#FFBE6F'";
    orange_2 = "'#FFA348'";
    orange_3 = "'#FF7800'";
    orange_4 = "'#E66100'";
    orange_5 = "'#C64600'";
    red_1 = "'#F66151'";
    red_2 = "'#ED333B'";
    red_3 = "'#E01B24'";
    red_4 = "'#C01C28'";
    red_5 = "'#A51D2D'";
    purple_1 = "'#DC8ADD'";
    purple_2 = "'#C061CB'";
    purple_3 = "'#9141AC'";
    purple_4 = "'#813D9C'";
    purple_5 = "'#613583'";
    brown_1 = "'#CDAB8F'";
    brown_2 = "'#B5835A'";
    brown_3 = "'#986A44'";
    brown_4 = "'#865E3C'";
    brown_5 = "'#63452C'";
    light_1 = "'#FFFFFF'";
    light_2 = "'#F6F5F4'";
    light_3 = "'#DEDDDA'";
    light_4 = "'#C0BFBC'";
    light_5 = "'#9A9996'";
    dark_1 = "'#77767B'";
    dark_2 = "'#5E5C64'";
    dark_3 = "'#3D3846'";
    dark_4 = "'#241F31'";
    dark_5 = "'#000000'";
    dark_6 = "'#242424'";
    dark_7 = "'#1E1E1E'";

in {
    home-manager = {
        users.${name} = {
            programs = {
                cava = {
                    enable = true;
                    settings = {
                        general = {
                            framerate   = 60;
                            bars        = 0;
                            bar_width   = 2;
                            bar_spacing = 1;
                        };
                        smoothing = {
                            noise_reduction = 88;
                        };
                        color = {
                            gradient         = 1;
                            gradient_count   = 5;
                            gradient_color_1 = dark_3;
                            gradient_color_2 = light_5;
                            gradient_color_3 = brown_3;
                            gradient_color_4 = red_3;
                            gradient_color_5 = yellow_5;
                        };
                    };
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/chromium.nix
================================================
{ ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                chromium = {
                    enable = true;
                    extensions = [
                        "bhchdcejhohfmigjafbampogmaanbfkg" # User-Agent Switcher and Manager
                        "nkbihfbeogaeaoehlefnkodbefgpgknn" # Metamask
                    #     "hnmpcagpplmpfojmgmnngilcnanddlhb" # Windscribe - Free Proxy and Ad Blocker
                    #     "ohcpnigalekghcmgcdcenkpelffpdolg" # ColorPick Eyedropper
                    #     "egjidjbpglichdcondbcbdnbeeppgdph" # Trust Wallet
                    #     "bnjjngeaknajbdcgpfkgnonkmififhfo" # Fake Filler
                    #     "cppjkneekbjaeellbfkmgnhonkkjfpdn" # Clear Cache
                    #     "fdpohaocaechififmbbbbbknoalclacl" # GoFullPage - Full Page Screen Capture
                    #     "kgkhambjbahgejgoaefmekdchedkihln" # Edit Anything
                    ];
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/default.nix
================================================
{ ... }:

{
    imports = [
        ./bat.nix
        ./bottom.nix
        ./cava.nix
        ./eza.nix
        ./bash.nix
        ./git.nix
        ./gitLfs.nix
        ./fzf.nix
        ./neovim.nix
        ./tmux.nix
        ./alacritty.nix
        ./chromium.nix
        ./firefox.nix
        ./go.nix
        ./kitty.nix
        ./starship.nix
        ./vsCode.nix
        ./fastFetch.nix
        ./awsCli.nix
        ./zoxide.nix
        ./zellij.nix
        ./waybar.nix
        ./yazi.nix
        ./githubCli.nix
        ./jq.nix
        ./ripgrep.nix
    ];
}


================================================
FILE: home-manager/program/eza.nix
================================================
{ ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                eza = {
                    enable       = true;
                    extraOptions = [ "--group-directories-first"  "--header" ];
                    git          = true;
                    icons        = "always";
                };
            };
        };
    };
}

# RESOURCE: https://github.com/eza-community/eza

================================================
FILE: home-manager/program/fastFetch.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                fastfetch = {
                    enable   = true;
                    package  = pkgs.fastfetch;
                    settings = {
                        logo = {
                            # uncomment this sh*t bellow if you want to use image
                            type = "kitty-direct"; 
                            height = 13;
                            width = 25;

                            source = "/etc/nixos/asset/logo/onepiece/02.png";
                            padding = {
                                right = 6; # distance between logo and module
                                left = 6;
                                top = 2;
                            };
                        };

                        display = {
                            separator = " ¤ ";
                            color = "yellow";
                        };

                        modules = [
                            {
                                type = "title";
                                format = "                    イープ@ニクソス";
                            }

                            {
                                type = "custom";
                                format = "╔ ══════════ ══════════ ══════════ ══════════ ══════════ ╗";
                            }
                            "break"

                            {
                                type = "os";
                                key = "         Distro  ";
                                keyColor = "yellow";
                                format = "{2} {12}";
                            }{
                                type = "os";
                                key = "         ╰────────version";
                                keyColor = "red";
                                format = "{8} ({10})";
                            }


                            {
                                type = "kernel";
                                key = "         Kernel  ";
                                keyColor = "yellow";
                                format = "{1}";
                            }{
                                type = "kernel";
                                key = "         ╰────────version";
                                keyColor = "red";
                                format = "{2}";
                            }


                            {
                                type = "shell";
                                key = "         Shell   ";
                                keyColor = "yellow";
                                format = "{6}";
                            }{
                                type = "shell";
                                key = "         ╰────────version";
                                keyColor = "red";
                                format = "{4}";
                            }


                            {
                                type = "de";
                                key = "         DE      ";
                                keyColor = "yellow";
                                format = "{2}";
                            }{
                                type = "de";
                                key = "         ╰────────version";
                                keyColor = "red";
                                format = "{3}";
                            }


                            {
                                type = "wm";
                                key = "         WM      ";
                                keyColor = "yellow";
                                format = "{2}";
                            }{
                                type = "wm";
                                key = "         ╰────────compositor";
                                keyColor = "red";
                                format = "{3}";
                            }                        


                            {
                                type = "terminal";
                                key = "         Terminal";
                                keyColor = "yellow";
                                format = "{5}";
                            }{
                                type = "terminal";
                                key = "         ╰────────version";
                                keyColor = "red";
                                format = "{6}";
                            }

                            {
                                type = "packages";
                                key = "         Packages";
                                keyColor = "yellow";
                            }
                        
                            "break"

                            {
                                type = "custom";
                                format= "╚ ══════════ ══════════ ══════════ ══════════ ══════════ ╝";
                            }

                            {
                                type = "colors";
                                paddingLeft = 24;
                                symbol= "circle";
                            }
                        ];
                    };
                };
            };
        };
    };
}

# NOTE:

# example GET FORMAT
# fastfetch -h cpu-format

#color
# red
# green
# yellow
# blue
# magenta
# cyan
# white

================================================
FILE: home-manager/program/firefox.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                firefox = {
                    enable = false;
                    package = pkgs.firefox;
                    policies = {
                        BlockAboutConfig = true;
                        DefaultDownloadDirectory = "\${home}/Downloads";
                    };
                    # profiles = {
                    #     eep = {
                    #         containers = {
                    #             dua = {
                    #                 color = "red";
                    #                 icon = "fruit";
                    #                 id = 2;
                    #                 name = "dua";
                    #             };
                    #             satu = {
                    #                 color = "blue";
                    #                 icon = "dollar";
                    #                 id = 1;
                    #                 name = "satu";
                    #             };
                    #         };
                    #     };
                    # };
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/fzf.nix
================================================
{ ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                fzf = {
                    enable                = true;
                    enableBashIntegration = true;
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/git.nix
================================================
{ ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                git = {
                    enable    = true;
                    userName  = "ReadTheFuckingManual";
                    userEmail = "ekoedypurwantooke@gmail.com";
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/gitLfs.nix
================================================
{ ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                git.lfs = {
                    enable = true;
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/githubCli.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                gh = {
                    enable  = true;
                    package = pkgs.gh;
                    # settings = {};
                    # credentials = {};
                };
            };
        };
    };
}

================================================
FILE: home-manager/program/go.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                go = {
                    enable  = true;
                    goPath  = ".go";
                    goBin   = ".go/bin";
                    package = pkgs.go;
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/jq.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                jq = {
                    enable  = true;
                    package = pkgs.jq;
                };
            };
        };
    };
}

================================================
FILE: home-manager/program/kitty.nix
================================================
{ ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                kitty = {
                    enable = true;
                    settings = {
                        # FONT
                        font_family             = "JetBrainsMono Nerd Font";
                        bold_font               = "auto";
                        italic_font             = "auto";
                        bold_italic_font        = "auto";
                        # font_size               = "12.0";

                        # CURSOR
                        cursor                  = "#19cb00";
                        cursor_text_color       = "#FF0000";    # no effect
                        cursor_shape            = "underline";  # no effect
                        shell_integration       = "no-cursor";  # no effect

                        # SCROLLBACK
                        scrollback_lines        = 1000;

                        # MOUSE
                        url_color               = "#FF6500";
                        url_style               = "curly";  # straight = _____ , double = ‗‗‗‗‗‗ , curly = ‿⁀ ‿⁀ ‿⁀ ‿⁀ ‿⁀ , dotted = .............. , dashed = _ _ _ _ _ _ _ _
                        open_url_with           = "default";
                        detect_urls             = "yes";

                        # TERMINAL BELL
                        enable_audio_bell       = true;

                        # WINDOW LAYOUT
                        remember_window_size    = "yes";
                        initial_window_width    = 640;
                        initial_window_height   = 400;
                        window_logo_path        = "none";
                        window_logo_position    = "center";
                        hide_window_decorations = "no";
                        confirm_os_window_close = 1;    # ask for confirmation when closing the terminal
                        placement_strategy      = "center";
                        enabled_layouts         = "*";

                        # TAB BAR
                        # not use

                        # COLOR SCHEME
                        background_opacity      = "0.80";
                        background_blur         = "1";
                        foreground              = "#dedede";
                        # background              = "#dedede";

                        # THE COLOR TABLE
                        # not use


                        # ADVANCED
                        update_check_interval   = 0;    # to periodically check if updates for “kitty” are available or not, set to zero to disable

                        # OS SPECIFIC TWEAKS
                        wayland_titlebar_color  = "#dedede";
                        linux_display_server    = "auto";   # Set it to x11 or wayland to force the choice

                        # KEYBOARD SHORTCUTS
                        # not use

                    };
                    shellIntegration.enableBashIntegration = true;
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/neovim.nix
================================================
{ ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                neovim = {
                    enable = true;
                    viAlias = true;
                    vimAlias = true;
                    vimdiffAlias = true;
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/ripgrep.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                ripgrep = {
                    enable = true;
                    package = pkgs.ripgrep;
                };
            };
        };            
    };
}


================================================
FILE: home-manager/program/starship.nix
================================================
{ pkgs, lib, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                starship = {
                    enable                = true;
                    enableBashIntegration = true;
                    package               = pkgs.starship;
                    settings = {
                        add_newline = false;
                    };
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/tmux.nix
================================================
{ ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                tmux = {
                    enable = false;
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/vsCode.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                vscode = {
                    enable = true;
                    package = pkgs.vscode;
                    profiles.default = {
                        enableUpdateCheck = false;
                        enableExtensionUpdateCheck = true;
                        userSettings = {
                            "files.autoSave" = "afterDelay";
                            "files.associations" = {
                                ".env*" = "dotenv";
                            };

                            "editor.tokenColorCustomizations" = {
                                "textMateRules" = [
                                    {
                                        "scope" = "keyword.other.dotenv";
                                        "settings" = {
                                            "foreground" = "#FF000000";
                                        };
                                    }
                                ];    
                            };
                            "editor.fontLigatures" = true;
                            "editor.fontVariations" = false;
                            "editor.fontWeight" = 625;
                            "editor.fontFamily" = "Iosevka Nerd Font";
                            "editor.fontSize" = 16;
                            "editor.formatOnSave" = true;
                            "editor.defaultFormatter" = "esbenp.prettier-vscode";

                            "workbench.iconTheme" = "vscode-icons";
                            "workbench.colorTheme" = "Brogrammer";
                            "workbench.productIconTheme" = "emoji-product-icons";
                            "workbench.tree.expandMode" = "doubleClick";
                            "workbench.colorCustomizations" = {
                            "[Brogrammer]" = {
                                "activityBarBadge.background" = "#ff0000";
                                "editor.selectionBackground" = "#ffffff60";
                                "editor.selectionHighlightBackground" = "#ffffff60";
                                };
                            };
                            "go.addTags" = {
                                "options" = "json=";
                            };
                        };
                        extensions = with pkgs.vscode-extensions; [
                            golang.go                       # Go
                            bbenoist.nix                    # Nix
                            esbenp.prettier-vscode          # Prettier - Code formatter
                            oderwat.indent-rainbow          # indent-rainbow
                            tamasfe.even-better-toml        # Even Better TOML
                            naumovs.color-highlight         # Color Highlight
                            vscode-icons-team.vscode-icons  # vscode-icons
                            ms-azuretools.vscode-docker     # Docker
                            ms-vscode.makefile-tools        # Makefile Tools
                            humao.rest-client               # REST Client
                            seatonjiang.gitmoji-vscode      # Gitmoji
                            dotenv.dotenv-vscode            # Dotenv Official +Vault
                            bierner.emojisense              # :emojisense:
                            rust-lang.rust-analyzer         # rust-analyzer
                            jdinhlife.gruvbox               # Gruvbox Theme
    
                            # Thunder Client
                            # Golang Tools
                            # Go Nightly
                            # Brogrammer Theme
                            # Better Comments
                            # 👉 Emoji File Icons 👈
                            # Vue - Official
                            # open in browser
                            # Live Preview
                        ];
                    };
                };
            };
        };
    };
}

================================================
FILE: home-manager/program/waybar.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                waybar = {
                    enable = true;
                    package = pkgs.waybar;
                    settings = {
                        mainBar = {
                            layer = "top";
                            position = "top";
                            width = 1328;
                            margin-top = 10;
                            
                            # left
                            modules-left = [ "custom/appLauncher" "clock" ];
                            "custom/appLauncher" = {
                                format = " ";
                                tooltip = false;
                                on-click = "rofi -show drun";
                            };
                            "clock" = {
                                format = "{:%a, %d %b %Y | %H:%M}";
                                interval = 1;
                                locale = "id_ID.UTF-8";
                            };

                            # center
                            modules-center = [ "hyprland/workspaces" ];
                            "hyprland/workspaces" = {
                                disable-scroll = true;
                                all-outputs = true;
                                on-click = "activate";
                                persistent-workspaces = {
                                    "1" = "[]";
                                    "2" = "[]";
                                    "3" = "[]";
                                    "4" = "[]";
                                    "5" = "[]";
                                    "6" = "[]";
                                    "7" = "[]";
                                    "8" = "[]";
                                    "9" = "[]";
                                    "10" = "[]";
                                };
                            };

                            # right
                            modules-right = [ "custom/crypto" "mpd" "pulseaudio" "network" "custom/powermenu" ];
                            "custom/crypto" = {
                                exec = ''
                                    set -e
                                    export LC_NUMERIC=id_ID.UTF-8
                                    KEYS="CG-JZagcEte8ffDjmbx3nDNNBZU CG-Bv5jtdXouMcPz3DbZ2huPmcJ CG-EdBhbuqmjU9c3WuCYXpsofbr"
                                    for key in $KEYS; do
                                        response=$(curl -s -H "x-cg-api-key: $key" "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,tether-gold,monero&vs_currencies=usd")
                                        if echo "$response" | grep -q '"error"\|"status_code"'; then
                                            continue
                                        else
                                            btc=$(printf "%'d" $(echo "$response" | jq -r '.bitcoin.usd' | cut -d'.' -f1))
                                            tether_gold=$(printf "%'d" $(echo "$response" | jq -r '.["tether-gold"].usd' | cut -d'.' -f1))
                                            xmr=$(printf "%'d" $(echo "$response" | jq -r '.monero.usd' | cut -d'.' -f1))
                                            echo "<span color=\"#FFFF00\">BTC $btc</span>  <span color=\"#dedede\">|</span>  <span color=\"#FFD700\">XAUT $tether_gold</span>  <span color=\"#dedede\">|</span>  <span color=\"#FFA500\">XMR $xmr</span>"
                                            break
                                        fi
                                    done
                                '';
                                interval = 15;
                                format = "{}";
                                markup = "pango";
                                tooltip = false;
                            };
                            "mpd" = {
                                format = "{artist}: {title}";
                                on-click = "mpc toggle";
                                interval = 2;
                            };
                            "pulseaudio" = {
                                scroll-step = 1;
                                format = "{icon} {volume}%";
                                format-muted = "󰖁 Muted";
                                format-icons = {
                                    default = [ "" "" "" ];
                                };
                                on-click = "pamixer -t";
                                tooltip = false;
                            };    
                            "network" = {
                                format = " ";
                                format-ethernet = "  {ifname}";
                                format-disconnected = "睊 Disconnected";
                                tooltip-format = "📡 {ifname}\n🔌 SSID: {essid}\n📶 Strength: {signalStrength}%\n⬆️ Up: {bandwidthUpBits} \n⬇️ Down: {bandwidthDownBits}";
                                interval = 5;
                                on-click = "nm-connection-editor";
                            };
                            "custom/powermenu" = {
                                format = "";
                                on-click = "";
                            };
                        };
                    };
                    style = ''
                        #waybar {
                            font-family: "JetBrainsMono Nerd Font";
                            font-size: 12pt;
                            font-weight: bold;
                            border: 2px solid #dedede;
                            border-radius: 9px; /* agar border terlihat penuh di semua sisi */
                            background-color: rgba(0, 0, 0, 0.3); /* semi-transparent */
                        }

                        #custom-appLauncher {
                            font-size: 20px;
                            padding-left: 8px;
                            padding-right: 6px;
                            color: #7ebae4;
                        }

                        #custom-crypto {
                            padding-left: 5px;
                            padding-right: 5px;
                        }
                        #clock, #mpd, #pulseaudio, #network {
                            padding-left: 10px;
                            padding-right: 10px;
                            color: #dedede;
                        }

                        #custom-powermenu {
                            padding-left: 10px;
                            padding-right: 14px;
                            color: #dedede;
                        }

                        #workspaces {
                            padding: 0px;
                            margin: 0px;
                            font-family: "JetBrainsMono Nerd Font";
                            font-size: 12pt;
                            font-weight: bold;
                        }

                        #workspaces button {
                            background: transparent;
                            color: #dedede;
                            border: none;
                            margin: 0 4px;
                            padding: 4px;
                            min-width: 10px;
                            min-height: 10px;
                            border-radius: 50%;
                            transition: all 0.2s ease;
                        }

                        #workspaces button.active {
                            background-color: #dedede;
                            color: #1e1e2e;
                            border-radius: 20px; /* aktif jadi lonjong */
                            padding: 4px 10px;
                        }

                        #workspaces button:hover {
                            background-color: rgba(255, 255, 255, 0.2);
                            border-radius: 50%;
                        }
                    '';
                };
            };
        };
    };
}


================================================
FILE: home-manager/program/yazi.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {   
    home-manager = {
        users.${name} = {
            programs = {
                yazi = {
                    enable                = true;
                    package               = pkgs.yazi;
                    enableBashIntegration = true;
                    settings = {
                        manager = {
                            show_hidden = false;
                        };
                    };
                    theme = {
                        filetype = {
                            rules = [
                                { fg = "#7AD9E5"; mime = "image/*"; }
                                { fg = "#F3D398"; mime = "video/*"; }
                                { fg = "#F3D398"; mime = "audio/*"; }
                                { fg = "#CD9EFC"; mime = "application/bzip"; }
                            ];
                        };
                    };
                };
            };
        };
    };
}

================================================
FILE: home-manager/program/zellij.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {   
    home-manager = {
        users.${name} = {
            programs = {
                zellij = {
                    enable                = true;
                    package               = pkgs.zellij;
                };
            };
        };
    };
}

================================================
FILE: home-manager/program/zoxide.nix
================================================
{ pkgs, ... }:

let
    name = "eep";
in {
    home-manager = {
        users.${name} = {
            programs = {
                zoxide = {
                    enable = true;
                    enableBashIntegration = true;
                    package = pkgs.zoxide;
                    options = [
                        "--cmd cd" #replace cd with z and zi
                    ];
                };
            };
        };
    };
}

================================================
FILE: nixos/default.nix
================================================
{ ... }:

{
    imports = [
        ./hardware
        ./service
        ./system
        ./virtualisation
    ];
}

================================================
FILE: nixos/hardware/boot.nix
================================================
{ config, pkgs, ... }:

{
    boot = {
        
        plymouth = {
            enable = true;
            theme = "optimus";
            themePackages = with pkgs; [
                # By default we would install all themes
                (adi1090x-plymouth-themes.override {
                    selected_themes = [ "optimus" ];
                })
            ];
        };

        initrd = {
            availableKernelModules = [
                "xhci_pci"
                "ahci"
                "usb_storage"
                "sd_mod"
                "rtsx_pci_sdmmc"
            ];
            kernelModules = [ ];
            luks.devices. "luks-1e864ff3-d19e-491b-a401-78f9962dae85".device = "/dev/disk/by-uuid/1e864ff3-d19e-491b-a401-78f9962dae85";
        };
            kernelModules = [
                "kvm-intel"
                "msr"
            ];
            extraModulePackages = [ ];
            kernelPackages = pkgs.linuxPackages_latest;
    };
}

================================================
FILE: nixos/hardware/default.nix
================================================
{ modulesPath, ... }:

{
    imports = [
        (modulesPath + "/installer/scan/not-detected.nix")
        ./boot.nix
        ./fileSystem.nix
        ./networking.nix
        ./platform.nix
        ./processor.nix
        ./swapDevice.nix
    ];
}

================================================
FILE: nixos/hardware/fileSystem.nix
================================================
{ ... }:

{
    fileSystems."/" = {
        device = "/dev/disk/by-uuid/f49fba0e-7fe7-48e8-b413-0e2e3e229547";
        fsType = "ext4";
    };

    fileSystems."/boot" = {
        device = "/dev/disk/by-uuid/ABEC-C57F";
        fsType = "vfat";
        options = [ 
            "fmask=0077"
            "dmask=0077" 
        ];
    };
}


================================================
FILE: nixos/hardware/networking.nix
================================================
{ lib, ... }:

{
    networking.useDHCP = lib.mkDefault true;
}

================================================
FILE: nixos/hardware/platform.nix
================================================
{ lib, ... }:

{
    nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

================================================
FILE: nixos/hardware/processor.nix
================================================
{ config, lib, ... }:

{
    hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

================================================
FILE: nixos/hardware/swapDevice.nix
================================================
{ ... }:

{
    swapDevices = [ ];
}

================================================
FILE: nixos/program/default.nix
================================================
{ ... }:

{
    imports = [
        ./nix-ld.nix
    ];
}


================================================
FILE: nixos/program/nix-ld.nix
================================================
{ pkgs, lib, ... }:

{
    # nix-ld for handling dynamic lib
    programs.nix-ld = {
        enable = lib.mkDefault true;
        libraries = with pkgs; [
            glibc
        ];
    };
}

================================================
FILE: nixos/service/default.nix
================================================
{ ... }:

{
    imports = [
        ./postgreSQL.nix
        ./printing.nix
        ./wm-and-dm.nix
        ./pipewire.nix
        ./nginx.nix
        ./mySql.nix
        # ./rabbitMq.nix
        # ./jenkins.nix
        # ./kubernetes.nix
        # ./prometheus.nix
        # ./grafana.nix
    ];
}

================================================
FILE: nixos/service/mySql.nix
================================================
{ pkgs, ... }:

let
    statsConfig = {
        db = "eep";
        user = "eep";
        password = "1903";
    };

in {
    services.mysql = {
        enable = true;
        package = pkgs.mariadb;
        replication.role = "master";
        replication.slaveHost = "127.0.0.1";
        replication.masterUser = "${statsConfig.user}";
        replication.masterPassword = "${statsConfig.password}";
        initialScript = pkgs.writeText "setup-sql" ''
            CREATE DATABASE IF NOT EXISTS `${statsConfig.db}`;
            CREATE USER IF NOT EXISTS '${statsConfig.user}'@'%' IDENTIFIED WITH mysql_native_password;
            ALTER USER '${statsConfig.user}'@'%' IDENTIFIED BY '${statsConfig.password}';
            GRANT ALL PRIVILEGES ON * . * TO '${statsConfig.user}'@'%';
        '';
    };
}

================================================
FILE: nixos/service/nginx.nix
================================================
{ pkgs, ... }:

{
    services = {
        nginx = {
            enable = true;
            package = pkgs.nginxStable;
            statusPage = true;
        };
    };
}

================================================
FILE: nixos/service/pipewire.nix
================================================
{ ... }:

{
    services.pulseaudio.enable = false;
    security.rtkit.enable = true;
    services.pipewire = {
        enable = true;
        alsa.enable = true;
        alsa.support32Bit = true;
        pulse.enable = true;
        jack.enable = true; # If you want to use JACK applications, uncomment this
    };
}

================================================
FILE: nixos/service/postgreSQL.nix
================================================
{ pkgs, lib, ... }:

{
    services.postgresql = {
        enable = true;
        ensureDatabases = [ "eep" ];
        enableTCPIP = true;
        settings.port = 5432;
        authentication = pkgs.lib.mkOverride 10 ''
            #type database  DBuser  auth-method
            local all       all     trust

            # IPv4 local connections:
            host    all    eep    ::1/128    trust

            #type database DBuser origin-address auth-method
            # ipv4
            #host  all      all     127.0.0.1/32   md5
            # ipv6
            #host all       all     ::1/128        md5
        '';
        initialScript = pkgs.writeText "backend-initScript" ''
            CREATE ROLE eep WITH LOGIN PASSWORD '1903' CREATEDB SUPERUSER REPLICATION BYPASSRLS;
            CREATE DATABASE eep OWNER eep;
            GRANT ALL PRIVILEGES ON DATABASE eep TO eep;
        '';
    };
}

================================================
FILE: nixos/service/printing.nix
================================================
{ ... }:

{
    # Enable CUPS to print documents.
    services.printing.enable = true;
}

================================================
FILE: nixos/service/rabbitMq.nix
================================================
{ pkgs, ... }:

{
    # rabbitmq
    services.rabbitmq = {
        enable = true;
        package = pkgs.rabbitmq-server;
        dataDir = "/var/lib/rabbitmq";
        port = 5672;
        listenAddress = "0.0.0.0";
        # unsafeCookie = "";
        plugins = [ 
            "rabbitmq_management"
            "rabbitmq_mqtt"
        ];

        managementPlugin = {
            enable = true;
            port = 15672;
        };
    };

    #
    services.onlyoffice.rabbitmqUrl = "amqp://eep:1903@localhost:5672";

    # erlang
    services.epmd = {
        enable = true;
        package = pkgs.erlang;
    };
}

================================================
FILE: nixos/service/wm-and-dm.nix
================================================
{ pkgs, ... }:

{
    services.displayManager.ly.enable = true;
    services.displayManager.ly.package = pkgs.ly;

    programs.hyprland.enable = true; # enable Hyprland
    programs.hyprland.portalPackage = pkgs.xdg-desktop-portal-hyprland;
    # environment.variables = {
    #     WLR_NO_HARDWARE_CURSORS = "1"; # Jika mengalami masalah kursor
    #     XKB_DEFAULT_LAYOUT = "us";  # Ganti dengan layout yang diinginkan
    #     XKB_DEFAULT_VARIANT = "";   # Jika ada varian khusus, isi di sini
    #     XDG_SESSION_TYPE = "wayland";  # Pastikan sesi menggunakan Wayland
    #     XDG_CURRENT_DESKTOP = "Hyprland";
    #     XDG_SESSION_DESKTOP = "Hyprland";
    #     HYPRSHOT_DIR = "/home/eep/Pictures/Screenshots";
    # };
}


================================================
FILE: nixos/system/boot.nix
================================================
{ pkgs, ... }:

{
    # Bootloader.
    boot.loader.systemd-boot.enable = true;
    boot.loader.efi.canTouchEfiVariables = true;
}

================================================
FILE: nixos/system/default.nix
================================================
{ ... }:

let
    ver = "25.05";
in {
    imports = [
        ./boot.nix
        ./locale.nix
        ./networking.nix
        ./nixpkgs.nix
        ./timeZone.nix
        ./user.nix
        ./environment.nix
        ./security.nix
    ];
    system = {
        stateVersion = "${ver}";
    };
}


================================================
FILE: nixos/system/environment.nix
================================================
{ pkgs, ... }:

{
    environment.systemPackages = with pkgs; [
        # swww
        # waypaper
        rofi-wayland
        dmidecode           # A tool that reads information about your system's hardware from the BIOS according to the SMBIOS/DMI standard
        dart-sass           # dart sass for hugo
        brightnessctl       # brightness control
        pamixer             # control the volume with the PulseAudio backend
        hugo                # hugo
        gnumake             # for makefile
        doas                # alternative of sudo
        pgcli               # Rich command-line interface for PostgreSQL with auto-completion and syntax highlighting
        curl                # curl
        gcc                 # GNU Compiler Collection
        wget                # wget
        hyprshot
        cmake
        hwloc
        zip
        unzip
        trashy              # if you do the command 'rm' or 'rm -rf' in the terminal it is automatically placed in the trash
        nix-health          # check the health of your nix setup
        nix-search-cli      # cli for searching package

        # for go
        #go-tools
        #gopls

        go-migrate
        go-swagger
        golangci-lint
        gosec
        go-mockery
        ddosify
        air
    ];
}


================================================
FILE: nixos/system/locale.nix
================================================
{ ... }:

{
    # Select internationalisation properties.
    i18n.defaultLocale = "en_US.UTF-8";

    i18n.extraLocaleSettings = {
        LC_ADDRESS = "id_ID.UTF-8";
        LC_IDENTIFICATION = "id_ID.UTF-8";
        LC_MEASUREMENT = "id_ID.UTF-8";
        LC_MONETARY = "id_ID.UTF-8";
        LC_NAME = "id_ID.UTF-8";
        LC_NUMERIC = "id_ID.UTF-8";
        LC_PAPER = "id_ID.UTF-8";
        LC_TELEPHONE = "id_ID.UTF-8";
        LC_TIME = "id_ID.UTF-8";
    };
}

================================================
FILE: nixos/system/networking.nix
================================================
{ ... }:

{
    networking.hostName = "nixos";  # Define your hostname.
    # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.

    # Configure network proxy if necessary
    # networking.proxy.default = "http://user:password@proxy:port/";
    # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";

    # Enable networking
    networking.networkmanager.enable = true;
}

================================================
FILE: nixos/system/nixpkgs.nix
================================================
{ config, pkgs, ... }:

{
    # Allow unfree packages
    nixpkgs.config.allowUnfree = true;
}

================================================
FILE: nixos/system/security.nix
================================================
{ ... }:

let
    name = "eep";
in {
    security = {
        sudo = {
            enable = false;
            wheelNeedsPassword = true;
        };
        doas = {
            enable = true;
            wheelNeedsPassword = true;
            extraRules = [
                {
                    users = ["${name}"];
                    groups = ["wheel"];
                    keepEnv = true;
                    noPass = false;
                }
            ];
        };
    };
}    

================================================
FILE: nixos/system/timeZone.nix
================================================
{ ... }:

let
  timezone = "Asia/Jakarta";
in {
    # Set your time zone.
    time.timeZone = "${timezone}";
}

================================================
FILE: nixos/system/user.nix
================================================
{ pkgs, ... }:

{
   users.users.eep = {
      isNormalUser = true;
      description = "eep";
      extraGroups = [ "networkmanager" "wheel" "docker" ];
   };
}

================================================
FILE: nixos/virtualisation/default.nix
================================================
{ ... }:

{
    imports = [
        ./docker.nix
    ];
}

================================================
FILE: nixos/virtualisation/docker.nix
================================================
{ pkgs, ... }:
let
    name = "eep";
in {
    virtualisation = {
        docker = {
            enable = true;
            enableOnBoot = true;
            package = pkgs.docker;
            autoPrune = {
                enable = false;
            };
        };
    };
}
Download .txt
gitextract_o302r6h3/

├── .gitignore
├── README.md
├── asset/
│   └── ascii/
│       └── onepiece/
│           └── 01.txt
├── config/
│   └── hypr/
│       ├── configs/
│       │   ├── animation.conf
│       │   ├── autostart.conf
│       │   ├── decoration.conf
│       │   ├── env.conf
│       │   ├── input.conf
│       │   ├── keybinding.conf
│       │   ├── layout.conf
│       │   ├── misc.conf
│       │   ├── monitor.conf
│       │   ├── window.conf
│       │   └── windowrule.conf
│       └── hyprland.conf
├── configuration.nix
├── docs/
│   └── upgrade-channel.md
├── home-manager/
│   ├── default.nix
│   ├── font/
│   │   ├── default.nix
│   │   └── font.nix
│   ├── package/
│   │   ├── default.nix
│   │   ├── gui/
│   │   │   ├── browser.nix
│   │   │   ├── default.nix
│   │   │   ├── gedit.nix
│   │   │   ├── github.nix
│   │   │   ├── libreOffice.nix
│   │   │   ├── protonVpn.nix
│   │   │   ├── telegram.nix
│   │   │   └── virtualBox.nix
│   │   ├── programming/
│   │   │   ├── default.nix
│   │   │   ├── java.nix
│   │   │   ├── nodeJs.nix
│   │   │   └── rust.nix
│   │   └── tui/
│   │       ├── default.nix
│   │       └── tui.nix
│   └── program/
│       ├── alacritty.nix
│       ├── awsCli.nix
│       ├── bash.nix
│       ├── bat.nix
│       ├── bottom.nix
│       ├── cava.nix
│       ├── chromium.nix
│       ├── default.nix
│       ├── eza.nix
│       ├── fastFetch.nix
│       ├── firefox.nix
│       ├── fzf.nix
│       ├── git.nix
│       ├── gitLfs.nix
│       ├── githubCli.nix
│       ├── go.nix
│       ├── jq.nix
│       ├── kitty.nix
│       ├── neovim.nix
│       ├── ripgrep.nix
│       ├── starship.nix
│       ├── tmux.nix
│       ├── vsCode.nix
│       ├── waybar.nix
│       ├── yazi.nix
│       ├── zellij.nix
│       └── zoxide.nix
└── nixos/
    ├── default.nix
    ├── hardware/
    │   ├── boot.nix
    │   ├── default.nix
    │   ├── fileSystem.nix
    │   ├── networking.nix
    │   ├── platform.nix
    │   ├── processor.nix
    │   └── swapDevice.nix
    ├── program/
    │   ├── default.nix
    │   └── nix-ld.nix
    ├── service/
    │   ├── default.nix
    │   ├── mySql.nix
    │   ├── nginx.nix
    │   ├── pipewire.nix
    │   ├── postgreSQL.nix
    │   ├── printing.nix
    │   ├── rabbitMq.nix
    │   └── wm-and-dm.nix
    ├── system/
    │   ├── boot.nix
    │   ├── default.nix
    │   ├── environment.nix
    │   ├── locale.nix
    │   ├── networking.nix
    │   ├── nixpkgs.nix
    │   ├── security.nix
    │   ├── timeZone.nix
    │   └── user.nix
    └── virtualisation/
        ├── default.nix
        └── docker.nix
Condensed preview — 91 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (73K chars).
[
  {
    "path": ".gitignore",
    "chars": 15,
    "preview": "result\n\n#\n.idea"
  },
  {
    "path": "README.md",
    "chars": 407,
    "preview": "# 🛠️ Installation\n\n___\n\n- #### Make a backup of your current `nixos` configurations:\n```shell\ndoas mv /etc/nixos{,.bak}\n"
  },
  {
    "path": "asset/ascii/onepiece/01.txt",
    "chars": 1283,
    "preview": "\n      ╦╩╨╨╩╦                                      ╓╧╩╨╩╦\n     ╫      ╫            ╓╥╦╦╗╗╗╗╦╦╥╥            ╟╩     ╫\n  ╦╨"
  },
  {
    "path": "config/hypr/configs/animation.conf",
    "chars": 535,
    "preview": "#################\n### ANIMATION ###\n#################\n\n# https://wiki.hyprland.org/Configuring/Variables/#animations\n# D"
  },
  {
    "path": "config/hypr/configs/autostart.conf",
    "chars": 261,
    "preview": "#################\n### AUTOSTART ###\n#################\n\n# Autostart necessary processes (like notifications daemons, stat"
  },
  {
    "path": "config/hypr/configs/decoration.conf",
    "chars": 492,
    "preview": "# https://wiki.hyprland.org/Configuring/Variables/#decoration\ndecoration {\n    rounding = 10\n\n    # Change transparency "
  },
  {
    "path": "config/hypr/configs/env.conf",
    "chars": 205,
    "preview": "#############################\n### ENVIRONMENT VARIABLES ###\n#############################\n\n# See https://wiki.hyprland.o"
  },
  {
    "path": "config/hypr/configs/input.conf",
    "chars": 326,
    "preview": "#############\n### INPUT ###\n#############\n\n# https://wiki.hyprland.org/Configuring/Variables/#input\ninput {\n    kb_layou"
  },
  {
    "path": "config/hypr/configs/keybinding.conf",
    "chars": 3267,
    "preview": "###################\n### MY PROGRAMS ###\n###################\n\n# See https://wiki.hyprland.org/Configuring/Keywords/\n\n# Se"
  },
  {
    "path": "config/hypr/configs/layout.conf",
    "chars": 456,
    "preview": "# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more\ndwindle {\n    pseudotile = true # Master switch for"
  },
  {
    "path": "config/hypr/configs/misc.conf",
    "chars": 328,
    "preview": "# https://wiki.hyprland.org/Configuring/Variables/#misc\nmisc { \n    force_default_wallpaper = 2 # Set to 0 or 1 to disab"
  },
  {
    "path": "config/hypr/configs/monitor.conf",
    "chars": 134,
    "preview": "################\n### MONITORS ###\n################\n\n# See https://wiki.hyprland.org/Configuring/Monitors/\nmonitor=,prefe"
  },
  {
    "path": "config/hypr/configs/window.conf",
    "chars": 703,
    "preview": "#####################\n### LOOK AND FEEL ###\n#####################\n\n# Refer to https://wiki.hyprland.org/Configuring/Vari"
  },
  {
    "path": "config/hypr/configs/windowrule.conf",
    "chars": 498,
    "preview": "##############################\n### WINDOWS AND WORKSPACES ###\n##############################\n\n# See https://wiki.hyprlan"
  },
  {
    "path": "config/hypr/hyprland.conf",
    "chars": 1139,
    "preview": "# ███████╗ ██████╗ ██╗   ██╗██████╗  ██████╗██╗███╗   ██╗ ██████╗ \n# ██╔════╝██╔═══██╗██║   ██║██╔══██╗██╔════╝██║████╗ "
  },
  {
    "path": "configuration.nix",
    "chars": 848,
    "preview": "{ config, ... }:\n\n{\n    imports = [\n        ./nixos\n        ./home-manager\n    ];\n\n    # Activation script untuk membuat"
  },
  {
    "path": "docs/upgrade-channel.md",
    "chars": 1639,
    "preview": "# Upgrade NixOS & Home-Manager(MODULE) dari **old.version** ke **new.version**\n\nDokumentasi ini menjelaskan langkah-lang"
  },
  {
    "path": "home-manager/default.nix",
    "chars": 421,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\n    ver = \"25.05\";\nin {\n    imports = [\n        <home-manager/nixos>\n        ./program\n "
  },
  {
    "path": "home-manager/font/default.nix",
    "chars": 56,
    "preview": "{ ... }:\n\n{\n    imports = [\n        ./font.nix\n    ];\n}\n"
  },
  {
    "path": "home-manager/font/font.nix",
    "chars": 447,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            fonts.fontconfig.e"
  },
  {
    "path": "home-manager/package/default.nix",
    "chars": 87,
    "preview": "{ ... }:\n\n{\n    imports = [\n        ./gui\n        ./programming\n        ./tui\n    ];\n}\n"
  },
  {
    "path": "home-manager/package/gui/browser.nix",
    "chars": 301,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            home = {\n         "
  },
  {
    "path": "home-manager/package/gui/default.nix",
    "chars": 204,
    "preview": "{ ... }:\n\n{\n    imports = [\n        ./browser.nix\n        ./gedit.nix\n        # ./github.nix\n        ./libreOffice.nix\n "
  },
  {
    "path": "home-manager/package/gui/gedit.nix",
    "chars": 231,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            home = {\n         "
  },
  {
    "path": "home-manager/package/gui/github.nix",
    "chars": 240,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            home = {\n         "
  },
  {
    "path": "home-manager/package/gui/libreOffice.nix",
    "chars": 237,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            home = {\n         "
  },
  {
    "path": "home-manager/package/gui/protonVpn.nix",
    "chars": 239,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            home = {\n         "
  },
  {
    "path": "home-manager/package/gui/telegram.nix",
    "chars": 242,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            home = {\n         "
  },
  {
    "path": "home-manager/package/gui/virtualBox.nix",
    "chars": 236,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            home = {\n         "
  },
  {
    "path": "home-manager/package/programming/default.nix",
    "chars": 98,
    "preview": "{ ... }:\n\n{\n    imports = [\n        # ./java.nix\n        ./nodeJs.nix\n        ./rust.nix\n    ];\n}\n"
  },
  {
    "path": "home-manager/package/programming/java.nix",
    "chars": 231,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            home = {\n         "
  },
  {
    "path": "home-manager/package/programming/nodeJs.nix",
    "chars": 266,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            home = {\n         "
  },
  {
    "path": "home-manager/package/programming/rust.nix",
    "chars": 232,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            home = {\n         "
  },
  {
    "path": "home-manager/package/tui/default.nix",
    "chars": 55,
    "preview": "{ ... }:\n\n{\n    imports = [\n        ./tui.nix\n    ];\n}\n"
  },
  {
    "path": "home-manager/package/tui/tui.nix",
    "chars": 658,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            home = {\n         "
  },
  {
    "path": "home-manager/program/alacritty.nix",
    "chars": 1351,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n     "
  },
  {
    "path": "home-manager/program/awsCli.nix",
    "chars": 353,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n     "
  },
  {
    "path": "home-manager/program/bash.nix",
    "chars": 1172,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n           "
  },
  {
    "path": "home-manager/program/bat.nix",
    "chars": 322,
    "preview": "{ pkgs, ... }:\n\nlet\n  name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n       "
  },
  {
    "path": "home-manager/program/bottom.nix",
    "chars": 724,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n           "
  },
  {
    "path": "home-manager/program/cava.nix",
    "chars": 2375,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\n\n    # colors with quotation marks\n    blue_1 = \"'#99C1F1'\";\n    blue_2 = \"'#62A0EA'\";\n "
  },
  {
    "path": "home-manager/program/chromium.nix",
    "chars": 1038,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n           "
  },
  {
    "path": "home-manager/program/default.nix",
    "chars": 569,
    "preview": "{ ... }:\n\n{\n    imports = [\n        ./bat.nix\n        ./bottom.nix\n        ./cava.nix\n        ./eza.nix\n        ./bash.n"
  },
  {
    "path": "home-manager/program/eza.nix",
    "chars": 443,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n           "
  },
  {
    "path": "home-manager/program/fastFetch.nix",
    "chars": 5514,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n     "
  },
  {
    "path": "home-manager/program/firefox.nix",
    "chars": 1228,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n     "
  },
  {
    "path": "home-manager/program/fzf.nix",
    "chars": 287,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n           "
  },
  {
    "path": "home-manager/program/git.nix",
    "chars": 344,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n           "
  },
  {
    "path": "home-manager/program/gitLfs.nix",
    "chars": 226,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n           "
  },
  {
    "path": "home-manager/program/githubCli.nix",
    "chars": 343,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n     "
  },
  {
    "path": "home-manager/program/go.nix",
    "chars": 345,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n     "
  },
  {
    "path": "home-manager/program/jq.nix",
    "chars": 266,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n     "
  },
  {
    "path": "home-manager/program/kitty.nix",
    "chars": 3095,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n           "
  },
  {
    "path": "home-manager/program/neovim.nix",
    "chars": 339,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n           "
  },
  {
    "path": "home-manager/program/ripgrep.nix",
    "chars": 288,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n     "
  },
  {
    "path": "home-manager/program/starship.nix",
    "chars": 463,
    "preview": "{ pkgs, lib, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n"
  },
  {
    "path": "home-manager/program/tmux.nix",
    "chars": 224,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n           "
  },
  {
    "path": "home-manager/program/vsCode.nix",
    "chars": 4129,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n     "
  },
  {
    "path": "home-manager/program/waybar.nix",
    "chars": 8183,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n     "
  },
  {
    "path": "home-manager/program/yazi.nix",
    "chars": 994,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {   \n    home-manager = {\n        users.${name} = {\n            programs = {\n  "
  },
  {
    "path": "home-manager/program/zellij.nix",
    "chars": 305,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {   \n    home-manager = {\n        users.${name} = {\n            programs = {\n  "
  },
  {
    "path": "home-manager/program/zoxide.nix",
    "chars": 439,
    "preview": "{ pkgs, ... }:\n\nlet\n    name = \"eep\";\nin {\n    home-manager = {\n        users.${name} = {\n            programs = {\n     "
  },
  {
    "path": "nixos/default.nix",
    "chars": 115,
    "preview": "{ ... }:\n\n{\n    imports = [\n        ./hardware\n        ./service\n        ./system\n        ./virtualisation\n    ];\n}"
  },
  {
    "path": "nixos/hardware/boot.nix",
    "chars": 967,
    "preview": "{ config, pkgs, ... }:\n\n{\n    boot = {\n        \n        plymouth = {\n            enable = true;\n            theme = \"opt"
  },
  {
    "path": "nixos/hardware/default.nix",
    "chars": 249,
    "preview": "{ modulesPath, ... }:\n\n{\n    imports = [\n        (modulesPath + \"/installer/scan/not-detected.nix\")\n        ./boot.nix\n "
  },
  {
    "path": "nixos/hardware/fileSystem.nix",
    "chars": 337,
    "preview": "{ ... }:\n\n{\n    fileSystems.\"/\" = {\n        device = \"/dev/disk/by-uuid/f49fba0e-7fe7-48e8-b413-0e2e3e229547\";\n        f"
  },
  {
    "path": "nixos/hardware/networking.nix",
    "chars": 63,
    "preview": "{ lib, ... }:\n\n{\n    networking.useDHCP = lib.mkDefault true;\n}"
  },
  {
    "path": "nixos/hardware/platform.nix",
    "chars": 75,
    "preview": "{ lib, ... }:\n\n{\n    nixpkgs.hostPlatform = lib.mkDefault \"x86_64-linux\";\n}"
  },
  {
    "path": "nixos/hardware/processor.nix",
    "chars": 128,
    "preview": "{ config, lib, ... }:\n\n{\n    hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFir"
  },
  {
    "path": "nixos/hardware/swapDevice.nix",
    "chars": 36,
    "preview": "{ ... }:\n\n{\n    swapDevices = [ ];\n}"
  },
  {
    "path": "nixos/program/default.nix",
    "chars": 58,
    "preview": "{ ... }:\n\n{\n    imports = [\n        ./nix-ld.nix\n    ];\n}\n"
  },
  {
    "path": "nixos/program/nix-ld.nix",
    "chars": 192,
    "preview": "{ pkgs, lib, ... }:\n\n{\n    # nix-ld for handling dynamic lib\n    programs.nix-ld = {\n        enable = lib.mkDefault true"
  },
  {
    "path": "nixos/service/default.nix",
    "chars": 298,
    "preview": "{ ... }:\n\n{\n    imports = [\n        ./postgreSQL.nix\n        ./printing.nix\n        ./wm-and-dm.nix\n        ./pipewire.n"
  },
  {
    "path": "nixos/service/mySql.nix",
    "chars": 804,
    "preview": "{ pkgs, ... }:\n\nlet\n    statsConfig = {\n        db = \"eep\";\n        user = \"eep\";\n        password = \"1903\";\n    };\n\nin "
  },
  {
    "path": "nixos/service/nginx.nix",
    "chars": 170,
    "preview": "{ pkgs, ... }:\n\n{\n    services = {\n        nginx = {\n            enable = true;\n            package = pkgs.nginxStable;\n"
  },
  {
    "path": "nixos/service/pipewire.nix",
    "chars": 317,
    "preview": "{ ... }:\n\n{\n    services.pulseaudio.enable = false;\n    security.rtkit.enable = true;\n    services.pipewire = {\n        "
  },
  {
    "path": "nixos/service/postgreSQL.nix",
    "chars": 902,
    "preview": "{ pkgs, lib, ... }:\n\n{\n    services.postgresql = {\n        enable = true;\n        ensureDatabases = [ \"eep\" ];\n        e"
  },
  {
    "path": "nixos/service/printing.nix",
    "chars": 88,
    "preview": "{ ... }:\n\n{\n    # Enable CUPS to print documents.\n    services.printing.enable = true;\n}"
  },
  {
    "path": "nixos/service/rabbitMq.nix",
    "chars": 618,
    "preview": "{ pkgs, ... }:\n\n{\n    # rabbitmq\n    services.rabbitmq = {\n        enable = true;\n        package = pkgs.rabbitmq-server"
  },
  {
    "path": "nixos/service/wm-and-dm.nix",
    "chars": 734,
    "preview": "{ pkgs, ... }:\n\n{\n    services.displayManager.ly.enable = true;\n    services.displayManager.ly.package = pkgs.ly;\n\n    p"
  },
  {
    "path": "nixos/system/boot.nix",
    "chars": 130,
    "preview": "{ pkgs, ... }:\n\n{\n    # Bootloader.\n    boot.loader.systemd-boot.enable = true;\n    boot.loader.efi.canTouchEfiVariables"
  },
  {
    "path": "nixos/system/default.nix",
    "chars": 296,
    "preview": "{ ... }:\n\nlet\n    ver = \"25.05\";\nin {\n    imports = [\n        ./boot.nix\n        ./locale.nix\n        ./networking.nix\n "
  },
  {
    "path": "nixos/system/environment.nix",
    "chars": 1303,
    "preview": "{ pkgs, ... }:\n\n{\n    environment.systemPackages = with pkgs; [\n        # swww\n        # waypaper\n        rofi-wayland\n "
  },
  {
    "path": "nixos/system/locale.nix",
    "chars": 470,
    "preview": "{ ... }:\n\n{\n    # Select internationalisation properties.\n    i18n.defaultLocale = \"en_US.UTF-8\";\n\n    i18n.extraLocaleS"
  },
  {
    "path": "nixos/system/networking.nix",
    "chars": 417,
    "preview": "{ ... }:\n\n{\n    networking.hostName = \"nixos\";  # Define your hostname.\n    # networking.wireless.enable = true;  # Enab"
  },
  {
    "path": "nixos/system/nixpkgs.nix",
    "chars": 94,
    "preview": "{ config, pkgs, ... }:\n\n{\n    # Allow unfree packages\n    nixpkgs.config.allowUnfree = true;\n}"
  },
  {
    "path": "nixos/system/security.nix",
    "chars": 486,
    "preview": "{ ... }:\n\nlet\n    name = \"eep\";\nin {\n    security = {\n        sudo = {\n            enable = false;\n            wheelNeed"
  },
  {
    "path": "nixos/system/timeZone.nix",
    "chars": 110,
    "preview": "{ ... }:\n\nlet\n  timezone = \"Asia/Jakarta\";\nin {\n    # Set your time zone.\n    time.timeZone = \"${timezone}\";\n}"
  },
  {
    "path": "nixos/system/user.nix",
    "chars": 161,
    "preview": "{ pkgs, ... }:\n\n{\n   users.users.eep = {\n      isNormalUser = true;\n      description = \"eep\";\n      extraGroups = [ \"ne"
  },
  {
    "path": "nixos/virtualisation/default.nix",
    "chars": 57,
    "preview": "{ ... }:\n\n{\n    imports = [\n        ./docker.nix\n    ];\n}"
  },
  {
    "path": "nixos/virtualisation/docker.nix",
    "chars": 271,
    "preview": "{ pkgs, ... }:\nlet\n    name = \"eep\";\nin {\n    virtualisation = {\n        docker = {\n            enable = true;\n         "
  }
]

About this extraction

This page contains the full source code of the ReadTheFuckingManual/nixos GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 91 files (60.9 KB), approximately 17.4k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!