Compare commits

..

14 Commits

Author SHA1 Message Date
Acid 374972ae21 modified: .github/workflows/autofix.yml
autofix / autofix (push) Has been cancelled
new file:   .github/workflows/pyproject.toml
2026-05-23 17:06:45 -04:00
Acid 6dfe7661ad modified: .github/workflows/autofix.yml
autofix / autofix (push) Failing after 1m7s
2026-05-23 16:43:58 -04:00
Acid b90c4dd3f6 changed dotfiles to dotfiles/desktop/ 2026-05-23 16:37:52 -04:00
Acid f16799956b modified: data.conf 2025-12-05 20:06:32 -05:00
Acid a38fca1cfe modified: pyproject.toml
modified:   uv.lock
2025-12-05 00:17:06 -05:00
Acid f8229dc3c1 removed google drive likns for catppucin themes 2025-12-05 00:12:42 -05:00
Acid 995278a357 modified: README.md 2025-11-14 04:01:48 -05:00
Acid 30fcdc256e fixed dotfiles path resolution to be inside this dir 2025-11-11 21:18:06 -05:00
acidburnmonkey d6df47a532 modified: data.conf 2025-10-28 17:27:34 -04:00
acidburnmonkey f66f8dc6a3 Merge branch 'master' of github.com:acidburnmonkey/rice-cook 2025-10-26 21:03:07 -04:00
acidburnmonkey 84b82bd957 modified: .gitignore
modified:   data.conf
	modified:   rice-cook.py
2025-10-26 21:01:17 -04:00
acidburnmonkey c2d6a80324 Merge pull 2025-08-03 16:32:47 -04:00
anomaloussus b424d8a131 Update README.md
update
2025-08-03 16:31:36 -04:00
acidburnmonkey e4bb139a47 Update README.md 2025-06-10 05:30:59 -04:00
8 changed files with 208 additions and 283 deletions
+47
View File
@@ -0,0 +1,47 @@
name: autofix
on:
push:
branches: ["**"]
permissions:
contents: write
jobs:
autofix:
runs-on: ubuntu-latest
# skip if the last push was already made by this workflow to avoid loops
if: github.actor != 'github-actions[bot]'
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install tools
run: uv tool install ruff && uv tool install codespell
- name: ruff import sort
run: ruff check --select I --fix --config .github/workflows/pyproject.toml .
- name: ruff format
run: ruff format --config .github/workflows/pyproject.toml .
- name: codespell
run: codespell --write-changes
- name: Amend commit with fixes
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add -A
if git diff --cached --quiet; then
echo "Nothing to fix, skipping."
else
git commit --amend --no-edit
git push --force-with-lease
fi
+6
View File
@@ -0,0 +1,6 @@
[tool.ruff]
lint.extend-ignore = ["Q000"]
line-length = 120
[tool.ruff.format]
quote-style = "preserve"
+5 -1
View File
@@ -2,4 +2,8 @@ project_vnv
build build
dist dist
rice-cook.spec rice-cook.spec
__pycache__
test.py
dotfiles/
testdir/
logg.log
+11 -14
View File
@@ -17,7 +17,7 @@ This is a python script made to rice a blank fedora install into my custom hyprl
- 25 fonts, for developers and smooth looking - 25 fonts, for developers and smooth looking
- Catppuccin themes - Catppuccin themes
- candy-icons - candy-icons
- Hyrland - Hyprland
- hyprcursor ,hypridle, hyprlang, hyprloc, hyprpaper, hyprpicker, hyprutils - hyprcursor ,hypridle, hyprlang, hyprloc, hyprpaper, hyprpicker, hyprutils
- Waybar - Waybar
- Finally installs all programs given in data.conf - Finally installs all programs given in data.conf
@@ -45,7 +45,7 @@ git clone https://github.com/acidburnmonkey/rice-cook.git && cd rice-cook
chmod +x preinstall.sh && sudo ./preinstall.sh chmod +x preinstall.sh && sudo ./preinstall.sh
``` ```
### Now move `rice-cook.py` & data.conf into dofiles directory and run it: ### copy dotfiles directory into this project
``` ```
sudo uv run rice-cook.py sudo uv run rice-cook.py
@@ -54,12 +54,12 @@ sudo uv run rice-cook.py
Should look like this . Should look like this .
``` ```
|-dotfiles |-rice-cook.py
|---nvim |-data.conf
|---ranger |---dotfiles
|---etc... |-----nvim
|---data.conf |-----ranger
|---rice-cook.py |-----etc...
``` ```
### Before reboot ### Before reboot
@@ -67,10 +67,11 @@ Should look like this .
Need to correct ownership of home directory Need to correct ownership of home directory
``` ```
sudo chown -R user:user ~/home/username sudo chown -R "$USER:$USER" $HOME
``` ```
## A snapshot of your current fedora config can be genereted with this script ## A snapshot of your current fedora config can be generated with this script
[link](https://github.com/acidburnmonkey/scripts/blob/main/fedora-apps.py) [link](https://github.com/acidburnmonkey/scripts/blob/main/fedora-apps.py)
@@ -80,12 +81,8 @@ sudo chown -R user:user ~/home/username
## Monero <img src="https://www.getmonero.org/press-kit/symbols/monero-symbol-1280.png" width="60" height="60"> ## Monero <img src="https://www.getmonero.org/press-kit/symbols/monero-symbol-1280.png" width="60" height="60">
<img src="https://lh3.googleusercontent.com/pw/AJFCJaXk5yBCwXdQRjlyJfkain1Y_VNRaQLrBOzpd-TGANvD6uetoA134EINH1czVS-RpkwnFn2DspjRivfV2kPuTsN5f1NzJjyoT6rl7hhCfIJI7HyUnclACO24NKyyEES5Uly6lmvfig7G3vTH0Sx3Djw=w240-h240-s-no?authuser=0" width="150" height="150">
43Sxiso2FHsYhP7HTqZgsXa3m3uHtxHQdMeHxECqRefyazZfpGVCLVsf1gU68jxJBo1G171AC181q1BqAUaG1m554MLsspG 43Sxiso2FHsYhP7HTqZgsXa3m3uHtxHQdMeHxECqRefyazZfpGVCLVsf1gU68jxJBo1G171AC181q1BqAUaG1m554MLsspG
## Bitcon <img src="https://upload.wikimedia.org/wikipedia/commons/4/46/Bitcoin.svg" width="60" height="60"> ## Bitcon <img src="https://upload.wikimedia.org/wikipedia/commons/4/46/Bitcoin.svg" width="60" height="60">
<img src="https://lh3.googleusercontent.com/pw/AJFCJaVUsxqiheJBMWH1azt3kO00SdVw-hnJ8brWx1RNf-JozK_yy2-ZXwLpCEDeKePfp78I5Ca63I3A0TWujiMqydrdygMsmujaOvNp-OqZUwafXyleDKbD-enEg75WweataJivtVJmCenNvuIpBzq51mc=w352-h355-s-no?authuser=0" width="150" height="150">
bc1qk06cyheffclx7x434zpxjzcdl50452r9ducw0x bc1qk06cyheffclx7x434zpxjzcdl50452r9ducw0x
+6 -2
View File
@@ -8,9 +8,9 @@ hyprpaper
hyprpicker hyprpicker
hyprutils hyprutils
xdg-desktop-portal-hyprland xdg-desktop-portal-hyprland
qt6ct
waybar waybar
wl-copy wl-copy
alacritty
pip pip
flatpak flatpak
neovim neovim
@@ -28,14 +28,18 @@ network-manager-applet
xdg-desktop-portal-wlr xdg-desktop-portal-wlr
qt5-qtwayland qt5-qtwayland
qt6-qtwayland qt6-qtwayland
sddm
[Programs] [Programs]
gnome-font-viewer gnome-font-viewer
alacritty
gnome-software gnome-software
kitty kitty
ranger ranger
gnome-software
nemo nemo
gtk-murrine-engine
qt5ct
qt6ct
[Flatpak] [Flatpak]
-1
View File
@@ -5,7 +5,6 @@ description = "Add your description here"
readme = "README.md" readme = "README.md"
requires-python = ">=3.13" requires-python = ">=3.13"
dependencies = [ dependencies = [
"gdown>=5.2.0",
"gitpython>=3.1.44", "gitpython>=3.1.44",
"rich>=14.0.0", "rich>=14.0.0",
] ]
+111 -87
View File
@@ -10,8 +10,9 @@ import subprocess
import requests import requests
import shutil import shutil
import logging import logging
import gdown
from git import Repo from git import Repo
import zipfile
import urllib.request
from rich.console import Console from rich.console import Console
from rich.theme import Theme from rich.theme import Theme
from slimParser import SlimParser from slimParser import SlimParser
@@ -28,34 +29,23 @@ f_handler.setFormatter(formatter)
logger.addHandler(f_handler) logger.addHandler(f_handler)
logging.basicConfig( logging.basicConfig(
format="%(asctime)s | %(levelno)s | %(funcName)s| %(message)s ", format="%(asctime)s | %(levelno)s | %(funcName)s| %(message)s ", filename='logg.log', level=logging.INFO
filename='logg.log', level=logging.WARNING )
)
ap_theme = Theme({'ok':'green', 'error':'red', 'checked':'bold cyan','rule':'orange1'}) ap_theme = Theme({'ok': 'green', 'error': 'red', 'checked': 'bold cyan', 'rule': 'orange1'})
console = Console(theme=ap_theme) console = Console(theme=ap_theme)
user = os.getlogin() user = os.getlogin()
home = os.path.join('/home',user) home = os.path.join('/home', user)
def main(): def main():
setup = '' setup = ''
# confirm_user =''
local_user = user local_user = user
sudo_check() sudo_check()
console.print(f"Setting up for user {local_user} ", style='rule') console.print(f"Setting up for user {local_user} ", style='rule')
# while(True):
# confirm_user = input(" y/n ")
# if (confirm_user.lower() == 'n'):
# user := input('Type username : ')
# continue
# elif (confirm_user.lower() == 'y'):
# break
console.print('optimizing dnf.conf', style='ok') console.print('optimizing dnf.conf', style='ok')
dnf_config() dnf_config()
@@ -64,32 +54,36 @@ def main():
hyprland() hyprland()
msic_configs() msic_configs()
#This should not need sudo # This should not need sudo
# Pass D or L to copy_dotfiles function # Pass D or L to copy_dotfiles function
while (True):
if os.path.exists('dotfiles'):
while True:
console.print('Set up dotfiles for Desktop (D) or Laptop (L) ?', style='rule') console.print('Set up dotfiles for Desktop (D) or Laptop (L) ?', style='rule')
setup = input('>').lower() setup = input('>').lower()
if setup == 'l' or setup == 'd': if setup == 'l' or setup == 'd':
copy_dotfiles(setup) copy_dotfiles(setup)
break break
else:
console.print('Dotfiles not found skipping...', style='error')
executable_scripts() executable_scripts()
systemd() systemd()
#correcting ownership # correcting ownership
subprocess.run(f"chown -R {user}:{user} {home}",shell=True ,stdout=subprocess.DEVNULL) subprocess.run(f"chown -R {user}:{user} {home}", shell=True, stdout=subprocess.DEVNULL)
################ ################
# END OF MAIN # # END OF MAIN #
################ ################
def dnf_config(): def dnf_config():
console.rule("Configuring dnf", style='checked') console.rule("Configuring dnf", style='checked')
# dnf conf # dnf conf
with open('/etc/dnf/dnf.conf' , 'r+') as f: with open('/etc/dnf/dnf.conf', 'r+') as f:
text = 'max_parallel_downloads=10 \nfastestmirror=true' text = 'max_parallel_downloads=10 \nfastestmirror=true'
match = re.search(r'(max_parallel_downloads=10)', f.read()) match = re.search(r'(max_parallel_downloads=10)', f.read())
if not match: if not match:
@@ -100,24 +94,31 @@ def dnf_config():
else: else:
console.print(' dnf.conf already optimized :heavy_check_mark:', style='checked') console.print(' dnf.conf already optimized :heavy_check_mark:', style='checked')
subprocess.check_call('sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm',stdout=subprocess.DEVNULL, shell=True) subprocess.check_call(
subprocess.check_call('sudo dnf install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm',stdout=subprocess.DEVNULL, shell=True) 'sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm',
stdout=subprocess.DEVNULL,
shell=True,
)
subprocess.check_call(
'sudo dnf install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm',
stdout=subprocess.DEVNULL,
shell=True,
)
console.print('rpmfusion added to repos :heavy_check_mark:', style='ok') console.print('rpmfusion added to repos :heavy_check_mark:', style='ok')
logger.info('rpmfusion added to repos') logger.info('rpmfusion added to repos')
#update Dnf # update Dnf
subprocess.run('dnf upgrade -y', shell=True) subprocess.run('dnf upgrade -y', shell=True)
logger.info('Updated Dnf ') logger.info('Updated Dnf ')
def hyprland(): def hyprland():
console.rule("Configuring hyprland", style='checked') console.rule("Configuring hyprland", style='checked')
if not os.path.exists(home +'/.local/bin'): if not os.path.exists(home + '/.local/bin'):
os.mkdir(home +'/.local/bin') os.mkdir(home + '/.local/bin')
# create tty launcher # create tty launcher
with open(home +'/.local/bin/wrappedhl', 'w+') as file: with open(home + '/.local/bin/wrappedhl', 'w+') as file:
file.write('''#!/bin/sh file.write('''#!/bin/sh
cd ~ cd ~
export _JAVA_AWT_WM_NONREPARENTING=1 export _JAVA_AWT_WM_NONREPARENTING=1
@@ -140,7 +141,7 @@ Type=Application ''')
for line in file: for line in file:
line.strip() line.strip()
#making them executable # making them executable
subprocess.run(f'chmod +x {home}/.local/bin/wrappedhl', shell=True) subprocess.run(f'chmod +x {home}/.local/bin/wrappedhl', shell=True)
subprocess.run('chmod +x /usr/share/wayland-sessions/hyprland.desktop', shell=True) subprocess.run('chmod +x /usr/share/wayland-sessions/hyprland.desktop', shell=True)
@@ -158,42 +159,41 @@ def install_programs_dnf():
repos = parser.get('Repolist') repos = parser.get('Repolist')
main = parser.get('Main') main = parser.get('Main')
programs = parser.get('Programs') programs = parser.get('Programs')
flatpaks= parser.get('Flatpak') flatpaks = parser.get('Flatpak')
copr = parser.get('Copr') copr = parser.get('Copr')
# try to add repos
#try to add repos
if repos: if repos:
for url in repos: for url in repos:
try: try:
subprocess.run(f'sudo dnf config-manager addrepo --from-repofile={url}', shell=True) subprocess.run(f'sudo dnf config-manager addrepo --from-repofile={url}', shell=True)
except Exception as e: except Exception as e:
console.print(Exception(),":x:" , style='error') console.print(Exception(), ":x:", style='error')
logging.critical(f"Error adding extra repos: {str(e)}") logging.critical(f"Error adding extra repos: {str(e)}")
if copr: if copr:
for id in copr: for id in copr:
try: try:
subprocess.run(f'sudo dnf copr enable -y {id}',shell=True) subprocess.run(f'sudo dnf copr enable -y {id}', shell=True)
except Exception as e: except Exception as e:
console.print(Exception(),":x:" , style='error') console.print(Exception(), ":x:", style='error')
logging.critical(f"Err adding Copr: {str(e)}") logging.critical(f"Err adding Copr: {str(e)}")
#for some reason they have to be passed to dnf individually # for some reason they have to be passed to dnf individually
# instead of unpacked list *programs # instead of unpacked list *programs
main.extend(programs) main.extend(programs)
for program in main: for program in main:
try: try:
subprocess.run(f'dnf install -y {program} ', shell=True) subprocess.run(f'dnf install -y {program} ', shell=True)
except Exception as e: except Exception as e:
console.print(Exception(),":x:" , style='error') console.print(Exception(), ":x:", style='error')
logging.critical(f"Error at Installing programs: {str(e)}") logging.critical(f"Error at Installing programs: {str(e)}")
for fp in flatpaks: for fp in flatpaks:
try: try:
subprocess.run(f'flatpak install flathub -y {fp}', shell=True) subprocess.run(f'flatpak install flathub -y {fp}', shell=True)
except Exception as e: except Exception as e:
console.print(Exception(),":x:" , style='error') console.print(Exception(), ":x:", style='error')
logging.critical(f"Error at Installing flatpaks: {str(e)}") logging.critical(f"Error at Installing flatpaks: {str(e)}")
logger.info('Installed programs in data.config') logger.info('Installed programs in data.config')
@@ -208,6 +208,7 @@ def sudo_check():
else: else:
console.print('ok :heavy_check_mark:', style='ok') console.print('ok :heavy_check_mark:', style='ok')
# Oh my zsh setup + flathub # Oh my zsh setup + flathub
def zsh_fonts(): def zsh_fonts():
console.rule("Installing Zsh fonts", style='checked') console.rule("Installing Zsh fonts", style='checked')
@@ -215,12 +216,12 @@ def zsh_fonts():
try: try:
console.print("installing oh my zsh ", style='ok') console.print("installing oh my zsh ", style='ok')
#installs oh my zsh # installs oh my zsh
ohmy_url = "https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh" ohmy_url = "https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh"
zsh_installer = requests.get(ohmy_url, timeout=10) zsh_installer = requests.get(ohmy_url, timeout=10)
open('install.sh', 'wb').write(zsh_installer.content) open('install.sh', 'wb').write(zsh_installer.content)
#removing exec line # removing exec line
with open('install.sh', 'r') as f: with open('install.sh', 'r') as f:
contents = f.read() contents = f.read()
pattern = r'^\s*exec zsh -l$' pattern = r'^\s*exec zsh -l$'
@@ -235,11 +236,17 @@ def zsh_fonts():
console.print("installing oh my zsh auto suggestions ", style='ok') console.print("installing oh my zsh auto suggestions ", style='ok')
# zsh auto suggestions # zsh auto suggestions
subprocess.run(f'git clone https://github.com/zsh-users/zsh-autosuggestions {home}/.oh-my-zsh/custom/plugins/zsh-autosuggestions', shell=True) subprocess.run(
f'git clone https://github.com/zsh-users/zsh-autosuggestions {home}/.oh-my-zsh/custom/plugins/zsh-autosuggestions',
shell=True,
)
console.print("installing powerlevel10k ", style='ok') console.print("installing powerlevel10k ", style='ok')
#powerlevel 10k # powerlevel 10k
subprocess.run(f"git clone --depth=1 https://github.com/romkatv/powerlevel10k.git {home}/.oh-my-zsh/custom/themes/powerlevel10k", shell=True) subprocess.run(
f"git clone --depth=1 https://github.com/romkatv/powerlevel10k.git {home}/.oh-my-zsh/custom/themes/powerlevel10k",
shell=True,
)
logger.info('Installed Oh_my_zsh , powerlevel10k , autosuggestions') logger.info('Installed Oh_my_zsh , powerlevel10k , autosuggestions')
except Exception as e: except Exception as e:
@@ -248,41 +255,48 @@ def zsh_fonts():
console.print("installing flathub", style='ok') console.print("installing flathub", style='ok')
# flathub # flathub
subprocess.run('flatpak remote-add --if-not-exists flathub https://flatInstalled programs in data.txthub.org/repo/flathub.flatpakrepo', shell=True, stdout=subprocess.DEVNULL) subprocess.run(
'flatpak remote-add --if-not-exists flathub https://flatInstalled programs in data.txthub.org/repo/flathub.flatpakrepo',
shell=True,
stdout=subprocess.DEVNULL,
)
logger.info('Installed Flathub') logger.info('Installed Flathub')
# copy and override dotfiles # copy and override dotfiles
def copy_dotfiles(setup): def copy_dotfiles(setup):
console.rule("Copying Dotfiles", style='checked') console.rule("Copying Dotfiles", style='checked')
# list of relevant configs # list of relevant configs
lis = os.listdir() lis = os.listdir('dotfiles/desktop')
exceptions = ['.git', '.bashrc','.zshrc','retired','data.conf','wrappedhl','Hyprland','install.sh',
'logg.log','README.md','.gitignore','rice-cook.py','Laptop-configs','.ideavimrc']
for z in exceptions: # filter out .
if z in lis: lis = [item for item in lis if not item.startswith('.')]
lis.remove(z)
destination = os.path.join(home,'.config') destination = os.path.join(home, '.config')
shutil.copy2('.zshrc',home) shutil.copy2('dotfiles/.zshrc', home)
shutil.copy2('.p10k.zsh',home) shutil.copy2('dotfiles/.p10k.zsh', home)
shutil.copy2('.vimrc',home) shutil.copy2('dotfiles/.vimrc', home)
shutil.copy2('.ideavimrc',home) shutil.copy2('dotfiles/.ideavimrc', home)
if (setup =='l'): if setup == 'l':
console.print("Setting up dotfiles for Laptop", style='ok') console.print("Setting up dotfiles for Laptop", style='ok')
# copying files recursively # copying files recursively
for dir in lis: for dir in lis:
print(subprocess.run(f'cp -r {dir} {destination}', shell=True)) print(subprocess.run(f'cp -r {dir} {destination}', shell=True))
elif (setup =='d'): elif setup == 'd':
console.print("Setting up dotfiles for Desktop", style='ok') console.print("Setting up dotfiles for Desktop", style='ok')
# copying files recursively
for dir in lis: for dir in lis:
print(subprocess.run(f'cp -r {dir} {destination}', shell=True)) source = os.path.join('dotfiles', dir)
dest = os.path.join(destination, dir)
try:
print(shutil.copytree(source, dest, dirs_exist_ok=True))
except NotADirectoryError:
shutil.copy2(source, dest)
console.print("Dotfiles copied :heavy_check_mark:", style='ok') console.print("Dotfiles copied :heavy_check_mark:", style='ok')
logger.info('Dotfiles copied') logger.info('Dotfiles copied')
@@ -291,70 +305,75 @@ def copy_dotfiles(setup):
def executable_scripts(): def executable_scripts():
console.rule('Making scripts executable', style='checked') console.rule('Making scripts executable', style='checked')
for root ,_,files in os.walk(os.path.join(home,'.config')): for root, _, files in os.walk(os.path.join(home, '.config')):
for element in files: for element in files:
if '.sh' in element or '.py' in element: if '.sh' in element or '.py' in element:
try: try:
subprocess.run(f"chmod +x {os.path.join(root,element)}", shell=True) subprocess.run(f"chmod +x {os.path.join(root, element)}", shell=True)
except Exception as e: except Exception as e:
logging.critical(f"Error at executable_scripts: {str(e)}") logging.critical(f"Error at executable_scripts: {str(e)}")
console.print("Job done :heavy_check_mark:", style='ok') console.print("Job done :heavy_check_mark:", style='ok')
logger.info('Made scripts in .config executable') logger.info('Made scripts in .config executable')
#need sudo
# need sudo
def msic_configs(): def msic_configs():
console.rule('Setting up final configs', style='checked') console.rule('Setting up final configs', style='checked')
current_dir = os.getcwd() current_dir = os.getcwd()
try : try:
os.mkdir('misic') os.mkdir('misic')
os.mkdir(os.path.join(home,'.themes')) os.mkdir(os.path.join(home, '.themes'))
except FileExistsError: except FileExistsError:
pass pass
os.chdir(os.path.join(current_dir,'misic')) os.chdir(os.path.join(current_dir, 'misic'))
fonts_url = "https://github.com/acidburnmonkey/fonts" fonts_url = "https://github.com/acidburnmonkey/fonts"
fonts_dir = os.path.join(home,".fonts") fonts_dir = os.path.join(home, ".fonts")
try: try:
Repo.clone_from(fonts_url, fonts_dir) Repo.clone_from(fonts_url, fonts_dir)
except Exception as e: except Exception as e:
print(f"Failed to clone repository: {e}") print(f"Failed to clone repository: {e}")
# to system # to system
shutil.copytree(home+"/.fonts",'/usr/share/fonts/', dirs_exist_ok=True) shutil.copytree(home + "/.fonts", '/usr/share/fonts/', dirs_exist_ok=True)
console.print("Fonts downloaded :heavy_check_mark:", style='ok') console.print("Fonts downloaded :heavy_check_mark:", style='ok')
logger.info('Fonts downloaded ') logger.info('Fonts downloaded ')
#Icons # Icons
subprocess.run('git clone --depth 1 https://github.com/EliverLara/candy-icons.git /usr/share/icons/candy-icons', shell=True, stdout=subprocess.DEVNULL) subprocess.run(
'git clone --depth 1 https://github.com/EliverLara/candy-icons.git /usr/share/icons/candy-icons',
shell=True,
stdout=subprocess.DEVNULL,
)
console.print("Icons have been downloaded :heavy_check_mark:", style='ok') console.print("Icons have been downloaded :heavy_check_mark:", style='ok')
logger.info('candy-icons downloaded') logger.info('candy-icons downloaded')
try: try:
themes_urls =['https://drive.google.com/uc?id=1KkqC5vaBjePSHxjBI_8PWfm3jNW5gO7k','https://drive.google.com/uc?id=1-qq3wmuQhkKHpW_8OrRNS92AHD9LE4un' url = 'https://github.com/catppuccin/gtk/releases/download/v1.0.3/catppuccin-mocha-blue-standard+default.zip'
,'https://drive.google.com/uc?id=1mxkN9b4Ws7CeqF_KaTlA3dA5e75UUa4y','https://drive.google.com/uc?id=1cYLRsxmWeQJMOS7QEGEgJenRPKxgwN7X'] urllib.request.urlretrieve(url, 'catppuccin-mocha-blue.zip')
for index,file in enumerate(themes_urls): with zipfile.ZipFile('catppuccin-mocha-blue.zip') as zip:
output = str(index)+'.zip' zip.extractall(os.path.join(home, '.themes'))
gdown.download(file, output ,quiet=False)
subprocess.run(f"unzip {output} -d {os.path.join(home,'.themes')}", shell=True, stdout=subprocess.DEVNULL)
# to system # to system
shutil.copytree(home+"/.themes",'/usr/share/themes/', dirs_exist_ok=True) shutil.copytree(home + "/.themes", '/usr/share/themes/', dirs_exist_ok=True)
console.print("Themes have been downloaded :heavy_check_mark:", style='ok') console.print("Themes have been downloaded :heavy_check_mark:", style='ok')
logger.info('Themes have been downloaded') logger.info('Themes have been downloaded')
## Set themes Gtk ## Set themes Gtk
subprocess.run("gsettings set org.gnome.desktop.interface icon-theme 'candy-icons'", shell=True) subprocess.run("gsettings set org.gnome.desktop.interface icon-theme 'candy-icons'", shell=True)
subprocess.run("gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Macchiato-Standard-Blue-Dark'", shell=True) subprocess.run(
"gsettings set org.gnome.desktop.interface gtk-theme 'catppuccin-mocha-blue-standard+default'", shell=True
)
subprocess.run("gsettings set org.gnome.desktop.interface font-name 'Roboto-Regular'", shell=True) subprocess.run("gsettings set org.gnome.desktop.interface font-name 'Roboto-Regular'", shell=True)
#Flatpak force theme # Flatpak force theme
subprocess.run("flatpak override --filesystem=$HOME/.themes", shell=True) subprocess.run("flatpak override --filesystem=$HOME/.themes", shell=True)
subprocess.run("flatpak override --env=GTK_THEME=Catppuccin-Macchiato-Standard-Blue-Dark", shell=True) subprocess.run("flatpak override --env=GTK_THEME=catppuccin-mocha-blue-standard+default", shell=True)
console.print("Themes have been Set :heavy_check_mark:", style='ok') console.print("Themes have been Set :heavy_check_mark:", style='ok')
logger.info('Themes have been Set') logger.info('Themes have been Set')
@@ -365,7 +384,10 @@ def msic_configs():
# codec and multimedia # codec and multimedia
try: try:
subprocess.run('dnf swap ffmpeg-free ffmpeg --allowerasing', shell=True) subprocess.run('dnf swap ffmpeg-free ffmpeg --allowerasing', shell=True)
subprocess.run('dnf update @multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin', shell=True) subprocess.run(
'dnf update @multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin',
shell=True,
)
subprocess.run('dnf update @sound-and-video', shell=True) subprocess.run('dnf update @sound-and-video', shell=True)
console.print("ffmpeg non free installed + all codecs :heavy_check_mark:", style='ok') console.print("ffmpeg non free installed + all codecs :heavy_check_mark:", style='ok')
@@ -376,12 +398,16 @@ def msic_configs():
console.print("Something failed with new codecs :X:", style='error') console.print("Something failed with new codecs :X:", style='error')
def systemd(): def systemd():
console.rule('Enabling user services', style='checked') console.rule('Enabling user services', style='checked')
user_services = ['gnome-keyring.service', 'ssh-agent.service', 'polkit-gnome-authentication-agent.service', user_services = [
'hypridle.service','gnome-keyring-daemon.service'] 'gnome-keyring.service',
'ssh-agent.service',
'polkit-gnome-authentication-agent.service',
'hypridle.service',
'gnome-keyring-daemon.service',
]
try: try:
for services in user_services: for services in user_services:
@@ -391,7 +417,5 @@ def systemd():
console.print("Error starting some services :X:", style='error') console.print("Error starting some services :X:", style='error')
if __name__ == '__main__': if __name__ == '__main__':
main() main()
Generated
+15 -171
View File
@@ -1,84 +1,7 @@
version = 1 version = 1
revision = 2 revision = 3
requires-python = ">=3.13" requires-python = ">=3.13"
[[package]]
name = "beautifulsoup4"
version = "4.13.4"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "soupsieve" },
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/d8/e4/0c4c39e18fd76d6a628d4dd8da40543d136ce2d1752bd6eeeab0791f4d6b/beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195", size = 621067, upload_time = "2025-04-15T17:05:13.836Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b", size = 187285, upload_time = "2025-04-15T17:05:12.221Z" },
]
[[package]]
name = "certifi"
version = "2025.4.26"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload_time = "2025-04-26T02:12:29.51Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload_time = "2025-04-26T02:12:27.662Z" },
]
[[package]]
name = "charset-normalizer"
version = "3.4.2"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload_time = "2025-05-02T08:34:42.01Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload_time = "2025-05-02T08:32:56.363Z" },
{ url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload_time = "2025-05-02T08:32:58.551Z" },
{ url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload_time = "2025-05-02T08:33:00.342Z" },
{ url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload_time = "2025-05-02T08:33:02.081Z" },
{ url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload_time = "2025-05-02T08:33:04.063Z" },
{ url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload_time = "2025-05-02T08:33:06.418Z" },
{ url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload_time = "2025-05-02T08:33:08.183Z" },
{ url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload_time = "2025-05-02T08:33:09.986Z" },
{ url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload_time = "2025-05-02T08:33:11.814Z" },
{ url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload_time = "2025-05-02T08:33:13.707Z" },
{ url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload_time = "2025-05-02T08:33:15.458Z" },
{ url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload_time = "2025-05-02T08:33:17.06Z" },
{ url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload_time = "2025-05-02T08:33:18.753Z" },
{ url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload_time = "2025-05-02T08:34:40.053Z" },
]
[[package]]
name = "colorama"
version = "0.4.6"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload_time = "2022-10-25T02:36:22.414Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload_time = "2022-10-25T02:36:20.889Z" },
]
[[package]]
name = "filelock"
version = "3.18.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075, upload_time = "2025-03-14T07:11:40.47Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215, upload_time = "2025-03-14T07:11:39.145Z" },
]
[[package]]
name = "gdown"
version = "5.2.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "beautifulsoup4" },
{ name = "filelock" },
{ name = "requests", extra = ["socks"] },
{ name = "tqdm" },
]
sdist = { url = "https://files.pythonhosted.org/packages/09/6a/37e6b70c5bda3161e40265861e63b64a86bfc6ca6a8f1c35328a675c84fd/gdown-5.2.0.tar.gz", hash = "sha256:2145165062d85520a3cd98b356c9ed522c5e7984d408535409fd46f94defc787", size = 284647, upload_time = "2024-05-12T06:45:12.725Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/54/70/e07c381e6488a77094f04c85c9caf1c8008cdc30778f7019bc52e5285ef0/gdown-5.2.0-py3-none-any.whl", hash = "sha256:33083832d82b1101bdd0e9df3edd0fbc0e1c5f14c9d8c38d2a35bf1683b526d6", size = 18235, upload_time = "2024-05-12T06:45:10.017Z" },
]
[[package]] [[package]]
name = "gitdb" name = "gitdb"
version = "4.0.12" version = "4.0.12"
@@ -86,9 +9,9 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [ dependencies = [
{ name = "smmap" }, { name = "smmap" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload_time = "2025-01-02T07:20:46.413Z" } sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload-time = "2025-01-02T07:20:46.413Z" }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794, upload_time = "2025-01-02T07:20:43.624Z" }, { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794, upload-time = "2025-01-02T07:20:43.624Z" },
] ]
[[package]] [[package]]
@@ -98,18 +21,9 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [ dependencies = [
{ name = "gitdb" }, { name = "gitdb" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/c0/89/37df0b71473153574a5cdef8f242de422a0f5d26d7a9e231e6f169b4ad14/gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269", size = 214196, upload_time = "2025-01-02T07:32:43.59Z" } sdist = { url = "https://files.pythonhosted.org/packages/c0/89/37df0b71473153574a5cdef8f242de422a0f5d26d7a9e231e6f169b4ad14/gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269", size = 214196, upload-time = "2025-01-02T07:32:43.59Z" }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/1d/9a/4114a9057db2f1462d5c8f8390ab7383925fe1ac012eaa42402ad65c2963/GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110", size = 207599, upload_time = "2025-01-02T07:32:40.731Z" }, { url = "https://files.pythonhosted.org/packages/1d/9a/4114a9057db2f1462d5c8f8390ab7383925fe1ac012eaa42402ad65c2963/GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110", size = 207599, upload-time = "2025-01-02T07:32:40.731Z" },
]
[[package]]
name = "idna"
version = "3.10"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload_time = "2024-09-15T18:07:39.745Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload_time = "2024-09-15T18:07:37.964Z" },
] ]
[[package]] [[package]]
@@ -119,56 +33,27 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [ dependencies = [
{ name = "mdurl" }, { name = "mdurl" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload_time = "2023-06-03T06:41:14.443Z" } sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload-time = "2023-06-03T06:41:14.443Z" }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528, upload_time = "2023-06-03T06:41:11.019Z" }, { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528, upload-time = "2023-06-03T06:41:11.019Z" },
] ]
[[package]] [[package]]
name = "mdurl" name = "mdurl"
version = "0.1.2" version = "0.1.2"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload_time = "2022-08-14T12:40:10.846Z" } sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload_time = "2022-08-14T12:40:09.779Z" }, { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" },
] ]
[[package]] [[package]]
name = "pygments" name = "pygments"
version = "2.19.1" version = "2.19.1"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload_time = "2025-01-06T17:26:30.443Z" } sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload_time = "2025-01-06T17:26:25.553Z" }, { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" },
]
[[package]]
name = "pysocks"
version = "1.7.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/bd/11/293dd436aea955d45fc4e8a35b6ae7270f5b8e00b53cf6c024c83b657a11/PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0", size = 284429, upload_time = "2019-09-20T02:07:35.714Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5", size = 16725, upload_time = "2019-09-20T02:06:22.938Z" },
]
[[package]]
name = "requests"
version = "2.32.3"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "certifi" },
{ name = "charset-normalizer" },
{ name = "idna" },
{ name = "urllib3" },
]
sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload_time = "2024-05-29T15:37:49.536Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload_time = "2024-05-29T15:37:47.027Z" },
]
[package.optional-dependencies]
socks = [
{ name = "pysocks" },
] ]
[[package]] [[package]]
@@ -176,14 +61,12 @@ name = "rice-cook"
version = "0.1.0" version = "0.1.0"
source = { virtual = "." } source = { virtual = "." }
dependencies = [ dependencies = [
{ name = "gdown" },
{ name = "gitpython" }, { name = "gitpython" },
{ name = "rich" }, { name = "rich" },
] ]
[package.metadata] [package.metadata]
requires-dist = [ requires-dist = [
{ name = "gdown", specifier = ">=5.2.0" },
{ name = "gitpython", specifier = ">=3.1.44" }, { name = "gitpython", specifier = ">=3.1.44" },
{ name = "rich", specifier = ">=14.0.0" }, { name = "rich", specifier = ">=14.0.0" },
] ]
@@ -196,55 +79,16 @@ dependencies = [
{ name = "markdown-it-py" }, { name = "markdown-it-py" },
{ name = "pygments" }, { name = "pygments" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078, upload_time = "2025-03-30T14:15:14.23Z" } sdist = { url = "https://files.pythonhosted.org/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078, upload-time = "2025-03-30T14:15:14.23Z" }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229, upload_time = "2025-03-30T14:15:12.283Z" }, { url = "https://files.pythonhosted.org/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229, upload-time = "2025-03-30T14:15:12.283Z" },
] ]
[[package]] [[package]]
name = "smmap" name = "smmap"
version = "5.0.2" version = "5.0.2"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329, upload_time = "2025-01-02T07:14:40.909Z" } sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329, upload-time = "2025-01-02T07:14:40.909Z" }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303, upload_time = "2025-01-02T07:14:38.724Z" }, { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303, upload-time = "2025-01-02T07:14:38.724Z" },
]
[[package]]
name = "soupsieve"
version = "2.7"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/3f/f4/4a80cd6ef364b2e8b65b15816a843c0980f7a5a2b4dc701fc574952aa19f/soupsieve-2.7.tar.gz", hash = "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a", size = 103418, upload_time = "2025-04-20T18:50:08.518Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4", size = 36677, upload_time = "2025-04-20T18:50:07.196Z" },
]
[[package]]
name = "tqdm"
version = "4.67.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "colorama", marker = "sys_platform == 'win32'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload_time = "2024-11-24T20:12:22.481Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload_time = "2024-11-24T20:12:19.698Z" },
]
[[package]]
name = "typing-extensions"
version = "4.13.2"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload_time = "2025-04-10T14:19:05.416Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload_time = "2025-04-10T14:19:03.967Z" },
]
[[package]]
name = "urllib3"
version = "2.4.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload_time = "2025-04-10T15:23:39.232Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload_time = "2025-04-10T15:23:37.377Z" },
] ]