haoshoku 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/.github/workflows/publish-to-npm.yml +32 -0
  2. package/README.md +85 -0
  3. package/bun.lock +25 -0
  4. package/common/flatpacks_arch.txt +4 -0
  5. package/common/paru_applist.txt +52 -0
  6. package/configs/__init__.py +1 -0
  7. package/configs/alacritty/alacritty.toml +5 -0
  8. package/configs/fastfetch/config.jsonc +160 -0
  9. package/configs/fish/config.fish +66 -0
  10. package/configs/ghostty/config +6 -0
  11. package/configs/kde_shortcuts.kksrc +368 -0
  12. package/configs/kitty/kitty.conf +41 -0
  13. package/configs/vencord/trans.theme.css +90 -0
  14. package/deskback/20250228_234138~2.jpg +0 -0
  15. package/deskback/32977-1920x1080-desktop-full-hd-the-garden-of-words-wallpaper-photo.jpg +0 -0
  16. package/deskback/a_spring_night_by_bisbiswas_deekkf0.jpg +0 -0
  17. package/deskback/adia___east_hallegian_aurorae_by_rajavlitra_dasfxtu.png +0 -0
  18. package/deskback/anew_beginning_by_thekayeman_ddyp7ti.jpg +0 -0
  19. package/deskback/arachnophobia_by_bisbiswas_detjqyf.jpg +0 -0
  20. package/deskback/arise_by_bisbiswas_ddwcnjg.jpg +0 -0
  21. package/deskback/aurora_borealis__by_xxartymusexx_ddzt4e0.jpg +0 -0
  22. package/deskback/aurora_borealis_by_gaudibuendia_dajesxg.jpg +0 -0
  23. package/deskback/aurora_borealis_by_sephiroth_art_dawxmlz.jpg +0 -0
  24. package/deskback/aurora_by_rav89_dau22zv.jpg +0 -0
  25. package/deskback/aurora_lights_by_bisbiswas_dedov93.jpg +0 -0
  26. package/deskback/aurora_lights_by_bisbiswas_dedov93~3.jpg +0 -0
  27. package/deskback/bizarre_winter_night_by_bisbiswas_dfnsfxe.jpg +0 -0
  28. package/deskback/blazing_moon_by_bisbiswas_def6rgz.jpg +0 -0
  29. package/deskback/burning_tower_by_bisbiswas_dfciho6.jpg +0 -0
  30. package/deskback/christmas_night_commissioned__by_bisbiswas_deb2fgh.jpg +0 -0
  31. package/deskback/cold_night_drive_by_bisbiswas_dfqw4ev.jpg +0 -0
  32. package/deskback/creature_of_fantasyland_by_bisbiswas_dgjrpn6.jpg +0 -0
  33. package/deskback/crossing_road_by_bisbiswas_deksqsf.jpg +0 -0
  34. package/deskback/d9gpwju-04121643-6c14-4503-b2e3-60995901caf9.jpg +0 -0
  35. package/deskback/dreamy_night_by_bisbiswas_deaka30.jpg +0 -0
  36. package/deskback/emerald_moon_by_bisbiswas_demugqf.jpg +0 -0
  37. package/deskback/free_use_background__nebula__5400_by_ted_drakness_dfqq9bd.jpg +0 -0
  38. package/deskback/happy_new_year_2023_by_bisbiswas_dfly13l.jpg +0 -0
  39. package/deskback/hidden_between_the_mountans_by_bisbiswas_dhkgcji.jpg +0 -0
  40. package/deskback/long_night_drive_by_bisbiswas_defo5d1.jpg +0 -0
  41. package/deskback/magical_hour__commissioned__by_bisbiswas_dfi6fz5.jpg +0 -0
  42. package/deskback/magical_meteor_night1_by_bisbiswas_dfwosp2.jpg +0 -0
  43. package/deskback/melstrom_by_thekayeman_de0z6em.jpg +0 -0
  44. package/deskback/mermaid_s_arrival_by_bisbiswas_deko21g.jpg +0 -0
  45. package/deskback/meteor_shower_by_bisbiswas_deogvao.jpg +0 -0
  46. package/deskback/midnight_train_by_bisbiswas_dengl62.jpg +0 -0
  47. package/deskback/nebula_of_solitude_by_thekayeman_dedfpmk.jpg +0 -0
  48. package/deskback/night_lights_by_bisbiswas_de3gb5p.jpg +0 -0
  49. package/deskback/night_mirror_by_clearvector_d4s66cp.png +0 -0
  50. package/deskback/night_rider_by_bisbiswas_deiy9z0.jpg +0 -0
  51. package/deskback/nobara-41-1.png +0 -0
  52. package/deskback/nobara-41-2.png +0 -0
  53. package/deskback/nobara-41-3.png +0 -0
  54. package/deskback/nobara-41-4.png +0 -0
  55. package/deskback/nobara-41-5.png +0 -0
  56. package/deskback/northern_ambience_by_zizzyart_df0kj8f.jpg +0 -0
  57. package/deskback/northern_lights_by_goatsforbreakfast_de90t8s.jpg +0 -0
  58. package/deskback/northern_lights_by_lapis_lazuri_dcprksa.jpg +0 -0
  59. package/deskback/northern_magic_by_lapis_lazuri_dbm99nv.jpg +0 -0
  60. package/deskback/northern_splendour_by_lapis_lazuri_ddlygb0.jpg +0 -0
  61. package/deskback/old_lighthouse_by_bisbiswas_dg5he0x.jpg +0 -0
  62. package/deskback/on_a_spring_vacation_by_bisbiswas_dhv9h4o.jpg +0 -0
  63. package/deskback/polar_dreams_by_avogadium_de2s60i.jpg +0 -0
  64. package/deskback/purple_night_by_bisbiswas_de4ql0w.jpg +0 -0
  65. package/deskback/quiet_ocean_night_by_ebenezer42_de4h9nd.jpg +0 -0
  66. package/deskback/rail_gate_by_bisbiswas_dehq31u.jpg +0 -0
  67. package/deskback/the_aurora_stones_by_hyokka_dcyokk2 (1).png +0 -0
  68. package/deskback/the_aurora_stones_by_hyokka_dcyokk2.png +0 -0
  69. package/deskback/the_aurora_stones_by_hyokka_dcyokk2mirror (1).png +0 -0
  70. package/deskback/the_aurora_stones_by_hyokka_dcyokk2mirror.png +0 -0
  71. package/deskback/the_midnight_by_thekayeman_de36pew.jpg +0 -0
  72. package/deskback/through_the_haze_by_traemore_deqdnrp.png +0 -0
  73. package/deskback/tri_system_by_thekayeman_ddyfscv.jpg +0 -0
  74. package/deskback/verdant_moonlight__commissioned__by_bisbiswas_degzd3v.jpg +0 -0
  75. package/deskback/verdant_mountain_by_bisbiswas_derlepn.jpg +0 -0
  76. package/deskback/winter_scenery_by_bisbiswas_dgwj8rb.jpg +0 -0
  77. package/docs/haoshoku.md +47 -0
  78. package/haoshoku.js +88 -0
  79. package/icons/Gemini_Generated_Image_kwrza7kwrza7kwrz.png +0 -0
  80. package/icons/Google_Tasks_2021.svg +17 -0
  81. package/icons/artificial-intelligence.png +0 -0
  82. package/icons/chatgpt-icon.png +0 -0
  83. package/icons/favicon.svg +12 -0
  84. package/icons/icons8-chatgpt-50.png +0 -0
  85. package/icons/icons8-discord-96.png +0 -0
  86. package/icons/icons8-feed-64.png +0 -0
  87. package/icons/icons8-google-calendar-48.png +0 -0
  88. package/icons/icons8-messages-96.png +0 -0
  89. package/icons/icons8-notion-64.png +0 -0
  90. package/icons/icons8-whatsapp-96.png +0 -0
  91. package/icons/zed.png +0 -0
  92. package/info.txt +3 -0
  93. package/package.json +14 -0
  94. package/src/common/utils.js +46 -0
  95. package/src/helpers/configure_git.js +130 -0
  96. package/src/os_scripts/cachyos.js +342 -0
  97. package/src/os_scripts/debian_server.js +146 -0
  98. package/tests/test_cachyos.py +37 -0
  99. package/tests/test_common.py +73 -0
  100. package/tests/test_kde_config.py +69 -0
@@ -0,0 +1,32 @@
1
+ name: Publish to NPM
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ publish:
9
+ runs-on: ubuntu-latest
10
+ permissions:
11
+ contents: read
12
+ id-token: write
13
+
14
+ steps:
15
+ - name: Checkout repository
16
+ uses: actions/checkout@v4
17
+
18
+ - name: Install Bun
19
+ uses: oven-sh/setup-bun@v1
20
+ with:
21
+ bun-version: latest
22
+
23
+ - name: Install dependencies
24
+ run: bun install
25
+
26
+ - name: Setup .npmrc
27
+ run: echo "//registry.npmjs.org/:_authToken=${NPM_ACCESS_TOKEN}" > .npmrc
28
+ env:
29
+ NPM_ACCESS_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
30
+
31
+ - name: Publish to NPM
32
+ run: npm publish
package/README.md ADDED
@@ -0,0 +1,85 @@
1
+ ![Haoshoku Logo](icons/Gemini_Generated_Image_kwrza7kwrza7kwrz.png)
2
+
3
+ # Haoshoku: Color of the Supreme King
4
+
5
+ **Quick Start:**
6
+ ```bash
7
+ # Install via npm (v2.0.0+)
8
+ npm install -g haoshoku
9
+
10
+ # Or run directly with Bun
11
+ git clone https://github.com/axatbhardwaj/bankai.git
12
+ cd bankai
13
+ bun install
14
+ bun haoshoku.js
15
+ ```
16
+
17
+ **Haoshoku** (formerly Bankai) is a modular, multi-distro Linux setup and configuration toolkit. It automates the installation of essential applications, developer tools, terminal configs, and user environment tweaks.
18
+
19
+ > [!NOTE]
20
+ > **Haoshoku** (from the anime *One Piece*) means ["Color of the Supreme King"](https://onepiece.fandom.com/wiki/Haki/Supreme_King_Haki). It imposes your will on the operating system, forcing it to submit to your configuration.
21
+
22
+ > [!IMPORTANT]
23
+ > **Rebranding & Migration**: This project was previously known as **Bankai** and was available on **PyPI** (Python). It has been renamed to **Haoshoku** and is now available on **NPM** (JavaScript/Bun).
24
+ >
25
+ > Please uninstall any old Python versions (`pipx uninstall bankai`) before installing the new version.
26
+
27
+ ## Supported Distributions
28
+ - **CachyOS / Arch-based** (Primary support)
29
+ - **Debian Server** (New in v2.0.0)
30
+
31
+ ## Features
32
+ - Automated installation of system packages and Flatpaks.
33
+ - Terminal and shell configuration (Fish, Starship, Fisher, etc.)
34
+ - IDEs, developer tools, and language managers (Rust, Node, Python, etc.)
35
+ - Optional gaming, Docker, and other productivity enhancements
36
+ - Modular config files for terminals (Kitty, Alacritty, Ghostty, Fastfetch)
37
+ - Git and SSH setup helper
38
+ - **OS Auto-detection**: Automatically detects your OS (CachyOS or Debian) and runs the appropriate setup.
39
+
40
+ ## Usage
41
+ If installed globally via npm:
42
+ ```bash
43
+ haoshoku
44
+ ```
45
+
46
+ If running from source with Bun:
47
+ ```bash
48
+ bun haoshoku.js
49
+ ```
50
+
51
+ - The script will auto-detect your OS.
52
+ - You can specify the OS directly:
53
+ ```bash
54
+ haoshoku --os cachyos
55
+ # or
56
+ bun haoshoku.js --os debian-server
57
+ ```
58
+
59
+ ## For Developers (Contributing)
60
+
61
+ If you want to contribute or customize the scripts:
62
+
63
+ 1. **Clone the repository:**
64
+ ```bash
65
+ git clone https://github.com/axatbhardwaj/bankai.git
66
+ cd bankai
67
+ ```
68
+
69
+ 2. **Install dependencies:**
70
+ ```bash
71
+ bun install
72
+ ```
73
+
74
+ 3. **Run locally:**
75
+ ```bash
76
+ bun haoshoku.js
77
+ ```
78
+
79
+ - **Package lists** are in `common/`
80
+ - **Configuration templates** are in `configs/`
81
+ - **OS-specific logic** is in `src/os_scripts/`
82
+ - **Helpers** are in `src/helpers/`
83
+
84
+ ## License
85
+ MIT (see repository)
package/bun.lock ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "lockfileVersion": 1,
3
+ "configVersion": 1,
4
+ "workspaces": {
5
+ "": {
6
+ "name": "bankai",
7
+ "dependencies": {
8
+ "chalk": "^5.6.2",
9
+ "commander": "^14.0.2",
10
+ "prompts": "^2.4.2",
11
+ },
12
+ },
13
+ },
14
+ "packages": {
15
+ "chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="],
16
+
17
+ "commander": ["commander@14.0.2", "", {}, "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ=="],
18
+
19
+ "kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="],
20
+
21
+ "prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="],
22
+
23
+ "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="],
24
+ }
25
+ }
@@ -0,0 +1,4 @@
1
+ io.ente.auth
2
+ io.github.brunofin.Cohesion
3
+ io.github.nozwock.Packet
4
+ com.rtosta.zapzap
@@ -0,0 +1,52 @@
1
+ fish
2
+ visual-studio-code-bin
3
+ brave-bin
4
+ floorp-bin
5
+ zip
6
+ kitty
7
+ signal-desktop
8
+ thunderbird
9
+ noisetorch-bin
10
+ github-cli
11
+ nvm
12
+ flatpak
13
+ bitwarden
14
+ partitionmanager
15
+ inotify-tools
16
+ teams-for-linux
17
+ onlyoffice-bin
18
+ kvantum
19
+ zoxide
20
+ telegram-desktop
21
+ qbittorrent
22
+ onefetch
23
+ webapp-manager
24
+ btop
25
+ nvtop
26
+ wmctrl
27
+ fastfetch
28
+ expect
29
+ vesktop
30
+ solaar
31
+ okular
32
+ slack-desktop-wayland
33
+ mpv
34
+ python-mpv
35
+ syncplay
36
+ mpv-uosc
37
+ mission-center
38
+ ghostty
39
+ starship
40
+ httpie
41
+ thefuck
42
+ subdl
43
+ docker
44
+ miniconda3
45
+ bun-bin
46
+ vivaldi
47
+ gitleaks
48
+ pyenv
49
+ cursor-bin
50
+ merkuro
51
+ thorium-browser-avx2-bin
52
+ session-desktop-bin
@@ -0,0 +1 @@
1
+ # Default configuration files for various applications
@@ -0,0 +1,5 @@
1
+ #window.blur = true
2
+ window.opacity = 0.80
3
+ font.normal.family = "0xProto Nerd Font Mono"
4
+
5
+ font.size = 8
@@ -0,0 +1,160 @@
1
+ // ~/.config/fastfetch/config.jsonc
2
+ // See https://github.com/fastfetch-cli/fastfetch/wiki/Configuration for more details
3
+ // See *.jsonc in https://github.com/fastfetch-cli/fastfetch/tree/dev/presets/examples for more examples
4
+ {
5
+ "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
6
+ "logo": {
7
+ "source": "konqi.png",
8
+ "type": "kitty",
9
+ "height": 20,
10
+ "width": 30,
11
+ "padding": {
12
+ "top": 4
13
+ }
14
+ },
15
+ "display": {
16
+ "separator": " -> "
17
+ },
18
+ "modules": [
19
+ {
20
+ "type": "custom",
21
+ "format": "\u001b[90m┌────────────────────────────────────────────────────────────┐"
22
+ },
23
+ {
24
+ "type": "title",
25
+ "keyColor": "green",
26
+ "keyWidth": 10
27
+ },
28
+ {
29
+ "type": "custom",
30
+ "format": "\u001b[90m└────────────────────────────────────────────────────────────┘"
31
+ },
32
+ {
33
+ "type": "custom",
34
+ "format": " \u001b[90m \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[38m \u001b[39m  \u001b[38m \u001b[37m \u001b[36m \u001b[35m \u001b[34m \u001b[33m \u001b[32m \u001b[31m \u001b[90m"
35
+ },
36
+ {
37
+ "type": "custom",
38
+ "format": "\u001b[90m┌────────────────────────────────────────────────────────────┐"
39
+ },
40
+ {
41
+ "type": "os",
42
+ "key": " OS",
43
+ "keyColor": "yellow"
44
+ },
45
+ {
46
+ "type": "kernel",
47
+ "key": "│ ├",
48
+ "keyColor": "yellow"
49
+ },
50
+ {
51
+ "type": "packages",
52
+ "key": "│ ├󰏖",
53
+ "keyColor": "yellow"
54
+ },
55
+ {
56
+ "type": "shell",
57
+ "key": "│ └",
58
+ "keyColor": "yellow"
59
+ },
60
+ {
61
+ "type": "de",
62
+ "key": " DE",
63
+ "keyColor": "blue"
64
+ },
65
+ {
66
+ "type": "wm",
67
+ "key": "│ ├",
68
+ "keyColor": "blue"
69
+ },
70
+ {
71
+ "type": "lm",
72
+ "key": "│ ├󰧨",
73
+ "keyColor": "blue"
74
+ },
75
+ {
76
+ "type": "wmtheme",
77
+ "key": "│ ├󰉼",
78
+ "keyColor": "blue"
79
+ },
80
+ {
81
+ "type": "icons",
82
+ "key": "│ ├󰀻",
83
+ "keyColor": "blue"
84
+ },
85
+ {
86
+ "type": "terminal",
87
+ "key": "│ ├",
88
+ "keyColor": "blue"
89
+ },
90
+ {
91
+ "type": "wallpaper",
92
+ "key": "│ └󰸉",
93
+ "keyColor": "blue"
94
+ },
95
+ {
96
+ "type": "host",
97
+ "key": " PC",
98
+ "keyColor": "green"
99
+ },
100
+ {
101
+ "type": "cpu",
102
+ "key": "│ ├",
103
+ "keyColor": "green"
104
+ },
105
+ {
106
+ "type": "gpu",
107
+ "key": "│ ├󰍛",
108
+ "keyColor": "green"
109
+ },
110
+ {
111
+ "type": "disk",
112
+ "key": "│ ├",
113
+ "keyColor": "green"
114
+ },
115
+ {
116
+ "type": "memory",
117
+ "key": "│ ├󰑭",
118
+ "keyColor": "green"
119
+ },
120
+ {
121
+ "type": "swap",
122
+ "key": "│ ├󰓡",
123
+ "keyColor": "green"
124
+ },
125
+ {
126
+ "type": "display",
127
+ "key": "│ ├󰍹",
128
+ "keyColor": "green"
129
+ },
130
+ {
131
+ "type": "uptime",
132
+ "key": "│ └󰅐",
133
+ "keyColor": "green"
134
+ },
135
+ {
136
+ "type": "sound",
137
+ "key": " SND",
138
+ "keyColor": "cyan"
139
+ },
140
+ {
141
+ "type": "player",
142
+ "key": "│ ├󰥠",
143
+ "keyColor": "cyan"
144
+ },
145
+ {
146
+ "type": "media",
147
+ "key": "│ └󰝚",
148
+ "keyColor": "cyan"
149
+ },
150
+ {
151
+ "type": "custom",
152
+ "format": "\u001b[90m└────────────────────────────────────────────────────────────┘"
153
+ },
154
+ "break",
155
+ {
156
+ "type": "custom",
157
+ "format": " \u001b[90m \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[38m \u001b[39m  \u001b[38m \u001b[37m \u001b[36m \u001b[35m \u001b[34m \u001b[33m \u001b[32m \u001b[31m \u001b[90m"
158
+ }
159
+ ]
160
+ }
@@ -0,0 +1,66 @@
1
+ source /usr/share/cachyos-fish-config/cachyos-config.fish
2
+ function is_git_repo
3
+ if test -d .git
4
+ return 0
5
+ else
6
+ set git_root (git rev-parse --show-toplevel 2>/dev/null)
7
+ if test -n "$git_root"
8
+ cd $git_root # Change directory to the root of the Git repository
9
+ return 0
10
+ else
11
+ return 1
12
+ end
13
+ end
14
+ end
15
+
16
+ if status is-interactive
17
+ if is_git_repo
18
+ sleep 0.25
19
+ onefetch
20
+ else
21
+ sleep 0.25
22
+ fastfetch
23
+ end
24
+ zoxide init fish | source
25
+ thefuck --alias | source
26
+ starship init fish | source
27
+ pyenv init - fish | source
28
+
29
+ # Initialize Conda
30
+ if test -d $HOME/anaconda3
31
+ eval $HOME/anaconda3/bin/conda "shell.fish" "hook" $argv | source
32
+ end
33
+
34
+ # Initialize Miniconda
35
+ if test -d /opt/miniconda3
36
+ source /opt/miniconda3/etc/fish/conf.d/conda.fish
37
+ end
38
+
39
+ #===========================================
40
+ # Functions Section
41
+ #===========================================
42
+ function cursor
43
+ command cursor $argv > /dev/null 2>&1 &
44
+ end
45
+
46
+ # ===================================
47
+ # Aliases Section
48
+ # ===================================
49
+ # Development
50
+ alias dog="cursor"
51
+
52
+
53
+ # File operations
54
+ alias lss="ls -a -h"
55
+ alias rmf="rm -r -f -v"
56
+
57
+ # System commands
58
+ alias ps="ps auxfh"
59
+ alias tf="fuck"
60
+
61
+ # Commands to run in interactive sessions can go here
62
+ end
63
+
64
+ set -gx CRYPTOGRAPHY_OPENSSL_NO_LEGACY 1
65
+ # Added by LM Studio CLI (lms)
66
+ set -gx PATH $PATH /home/xzat/.lmstudio/bin
@@ -0,0 +1,6 @@
1
+ theme = Material Ocean
2
+ background-opacity = 0.85
3
+ background-blur-radius=0
4
+ window-theme=ghostty
5
+ font-family="0xProto Nerd Font Mono"
6
+ font-size=11