dotfiles
dotfiles
Our great sponsors
dotfiles | dotfiles | |
---|---|---|
11 | 17 | |
4 | 15 | |
- | - | |
7.1 | 0.0 | |
7 months ago | about 3 years ago | |
Shell | Vim Script | |
- | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dotfiles
-
No Start Menu for You
> If you do consider switching, one warning about Mac is this: Window management is utter garbage. Maximizing is actively discouraged. Tiling left / right etc? Doesn't exist. Everything must be random size and overlap weirdly. Instead, each new version brings a new quick switch or workspace functionality that I have never seen anyone use.
Mac has a different window management paradigm. It suits some people, it frustrates others. I've switched from Linux/BSD after 15 years there, and it immediately made so much more sense to me. YMMV.
It also makes so much more sense if you have a very large screen. I've tried using dwm or Sway with my 43" screen and it's incredibly awkward. You need first-class support for floating windows, or at least smarter tiling.
But I agree, some things on macOS are not as good (workspaces), or plain dumb/useless (stage manager). For missing functionality, like keyboard-driven tiling, I fix things using Hammerspoon: https://github.com/rollcat/dotfiles/blob/master/.hammerspoon...
-
KDE beats macOS hands down
> Being usable out of the box?
It's interesting that you bring up this point in defense of KDE, because that's exactly my problem with it, especially when contrasted with macOS. Every issue I have with KDE boils down to: "there are too many options, and none of them make the system feel right".
> decent window snapping
In my opinion, no window manager gets it right. I've made a shot at it with my Hammerspoon config[1], it will move/resize/tile floating windows in a 2x2/3x3 grid using custom hotkeys. It's annoying though, that the code works on macOS only - I could probably refactor it to work with an X11 window manager.
[1]: https://github.com/rollcat/dotfiles/blob/master/.hammerspoon...
> put files on my Android phone over USB
I think integration within the Apple ecosystem is what really outshines all competition. I've never had to plug my iPhone over USB to a Mac, and yet I can just copy on the phone, and paste on the computer, like they are one device. Files, mail, contacts, calendar, photos, notes, todos, bookmarks, are all synced - heck I can use the phone camera as a webcam, all out of the box.
> I don't need to give my terminal permission to display my fucking documents folder
Sounds like you never had to fight SELinux or AppArmor. Personally I'm happy that desktop OS's are trying to improve end-user security (why do I have to type the root password to install a game, but I don't need one to run a cryptolocker?), but let's be honest, all attempts so far have ended up half-assed. The root of the issue is that desktop OS's must remain general-purpose tools, otherwise we could just as well call PCs glorified toasters.
-
Emacs’s Builtin Elisp Cheat Sheet
> I'd say that's kinda a big selling point of Emacs though: you can write elisp code to make anything you do (not just writing code) less of a pain.
I agree in principle, but in practice, I find myself writing a lot of ELisp just to work around Emacs' shortcomings. E.g. on macOS, to support dark/light theme switching integrated with the rest of the system, I need an external program[0], a shell script to tell that program to call emacsclient, a LaunchAgent to keep it running, an unholy build of Emacs with all of the GNU-unapproved Cocoa integrations that some kind soul is maintaining, and only THEN a piece of ELisp (which is also calling out to AppleScript) to actually change the theme[1]. And as I wrote this, I realised half of this glue didn't even make it into version control.
[0]: https://github.com/cormacrelf/dark-notify
[1]: https://github.com/rollcat/dotfiles/blob/7f6a6d7/.emacs.d/in...
I've been using Emacs for about 20 years, and with every passing year I just wish there was *less* ELisp for me to think about. The actual useful customisations (like adding the +x bit on shell scripts) are few and far between, most of it is just glue and fixes.
I have a love-hate relationship with Emacs.
The defaults are absolutely awful. The editor is pretty unusable without at least a hundred lines of ELisp: basic stuff like CUA, setting up fonts, disabling useless UI clutter, delete-selection-mode, rebinding a couple keys, setting up packages, explaining where to find coreutils on BSD systems, etc. And then you get to packages.
If you want to do anything remotely useful, you're gonna have to start installing random stuff from GNU ELPA, MELPA, etc. There's no package pinning or SemVer so you get what you get, packages sometimes break in mysterious ways. So you write more code to work around various broken stuff in packages.
I've gone through several iterations of throwing away my entire init.el and starting from scratch with just the bare minimum needed to get work done. At the current iteration, ELisp is still ~33% of all source code volume in my dotfiles repo[0]. I haven't pushed my latest effort to unbreak "jump to definition" (because apparently dumb-jump is deprecated??? and I need to use xref??? but it doesn't work???) so that'll likely go up.
I never wanted to write enough ELisp to justify calling it a program, but Emacs made me.
But then there is magit[1], which is so damn good, it makes every other VCS interface look like a sad joke. Which is problematic, because configuring Emacs itself is a bit of a sad joke. I want to just write code, not write code to make just writing code less of a pain. :(
[0]: https://github.com/rollcat/dotfiles
[1]: https://magit.vc
-
Git ignores .gitignore with .gitignore in .gitignore
This is my strategy for dotfiles. My home directory has a .gitignore with "*" in it. I will "git add -f" any files I want tracked; git is extremely efficient at ignoring the rest. It doesn't require any frameworks, symlinks, installation scripts, elaborate tutorials/manpages, or any other voodoo.
To move in to a new machine - unfortunately you can't git clone into a non-empty directory, but the commands to work around that are simple enough to remember.
-
Own Your Calendar and Contacts with OpenBSD, Baïkal, and FOSS Android
> I tried my hand at tiling WMs with pop!OS, I just couldn't wrap my hand around it (pun intended). I really admire people who work through all the keyboard shortcuts. It's just not for my capabilities.
I think Windows actually did a great job of making tiling more mainstream - the way windows automatically snap to the left/right half of the screen. macOS could use something like that - I've hacked something similar using Hammerspoon[1] but I think Windows does it better: it's very discoverable for regular users, and has a very intuitive shortcut for the power users (win+left/right/up).
The world of minimalist tiling WMs suffers from the elitism factor. It's a shame that you can't get the right dose of minimalism, without making this huge leap. I think people making most of these WMs misunderstand good UX design: it's not about accommodating non-power users, it's about lowering the barrier for everyone, hackers included.
[1]: https://github.com/rollcat/dotfiles/blob/master/.hammerspoon...
dotfiles
-
Split keyboard layout on i3
And here's a table with all those hotkeys laid out so I could keep track of them more easily: https://github.com/NicksIdeaEngine/dotfiles/blob/master/refs/linux/dotfiles/i3hotkeys.mkdn
-
I am done with vim (ThePrimeagen)
lol I have an over-engineered multi-file neovim config that probably gets close to 500+ lines if I combine everything back into one file and remove all the extra space used to make it more readable. I've been apprehensive about switching to Lua but I know it needs to happen soon.
-
Super new to i3, trying to get the nerd icon fonts working. I have it working in i3, but not in any apps that use GTK. Is there a way around this that any of you know of?
Here's my gtk-3.0/settings.ini file: https://github.com/NicksIdeaEngine/dotfiles/blob/master/.config/gtk-3.0/settings.ini
-
Tips for multi-PC setup
Layer 0 and 1 are for PC/Linux. On Linux, I use this .Xmodmap file ( https://github.com/NicksIdeaEngine/dotfiles/blob/master/.Xmodmap )to set up how that OS interprets CapsLock to give me an extra modifier key. Aside from that, there isn't anything I felt needed specification between PC/Linux.
-
Using both Alt and Windows key
Here is mine which replaces the Caps Lock key with Hyper along with some other stuff. https://github.com/NicksIdeaEngine/dotfiles/blob/master/.Xmodmap
-
Switching between audio output devices easily
I'm using pacmd. Here's the solution I came up with that I wound up binding to some i3 hotkeys for easy switching as well as make clickable on polybar. This script is called sink-switch.sh:
-
[bspwm] Wrote a small script to speed up my workflow
Here's that script: projify.sh
-
Can you use vim for web development html, css, js and more?
Lastly, there is some stuff I did in this functions.nvim file here to set filetypes and folding rules. Line 57 - 71 for CSS and JS/JSX rules, and the previous section for markdown files.
-
Is the terminal emulator `:term` something you use regularly?
I use this solution line 139-208 which is a drop-down, persistent terminal.
That other non-persistent terminal is line 113-138 in that same functions.vim file.
What are some alternatives?
i3-polybar-config - My i3 configuration with polybar for HiDPI screen (4k)
neoterm - Wrapper of some vim/neovim's :terminal functions.
dotfiles - 🍀 Vim/Neovim + Tmux + Zsh + Alacritty = Build your own fantastic development environment
base16-black-metal-scheme - A collection of Black Metal inspired base16 schemes.
dotfiles - 🐧 Custom config files for better workflow on Linux
vim-floaterm - :computer: Terminal manager for (neo)vim
dotfiles - My personal dotfiles (emacs, zsh, vim, i3)
nvim-config - Personal neovim configuration, part of https://github.com/FedericoAntoniazzi/dotfiles
radian - 🍉 Dotfiles that marry elegance and practicality.
dotfiles - wave Welcome to my dotfiles repository! This is where I store my personalized desktop configuration. desktop_computer
dotfiles - Personal Dotfiles and various configs
dark-notify - Watcher for macOS 10.14+ light/dark mode changes