• 1 Post
  • 249 Comments
Joined 2 years ago
cake
Cake day: June 15th, 2023

help-circle



  • Uh, just yesterday. Installed NixOS (with KDE) because I learned Debian at work, but am really missing the ability to track what I’ve installed via configuration. I like the idea of dotfiles in a repo, but want a bit more control like that for my OS.

    Context: I’m a data engineer that writes Python. Python has pyproject.toml files (toml ~= ini files) where you can specify which libraries you want to use, defining which version you minimally, maximally, or just specifically want. And I wished that setup existed for Debian as well, but it doesn’t. So after searching I found that NixOS is pretty much the closest thing. Windows 10 is EOL soon enough, so might as well switch beforehand and not wait until the last second.














  • The first two options (autocd and cdspell) have been a lifesaver in fixing my frustrations with the default bash settings (and even lets me stick with bash, instead of feeling I should move to zsh or any other shell.

    I can just type a foldername, tabcomplete it and press enter to go there. It’s great.

    # == shopts ==
    # https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html
    shopt -s autocd         # cd into folder without cd, so 'dotfiles' will cd into the folder
    shopt -s cdspell        # attempt spelling correcting on folders
    shopt -s direxpand      # expand a partial dir name
    shopt -s checkjobs      # stop shell from exit when there's jobs running
    shopt -s dirspell       # attempt spelling correcting on folders
    shopt -s expand_aliases # aliases are expanded
    shopt -s histappend     # append to the history file, don't overwrite it
    shopt -s histreedit     # lets your re-edit old executed command
    shopt -s histverify     # I'm confused.
    shopt -s hostcomplete   # performs completion when a word contains an '@'
    shopt -s cmdhist        # save multiple-line command in single history entry
    shopt -u lithist        # multi-lines are saved with embedded newlines rather than semicolons; explictly unset
    shopt -s checkwinsize # update LINES and COLUMNS to fit output