aboutsummaryrefslogtreecommitdiff
path: root/posts/software.md
blob: f8dfa21912644483bcc9b55097da306a6282cf7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
[meta]: <title> (Software that I use)
[meta]: <subtitle> (Desktop software, server software, phone apps, everything)
[meta]: <author> (Loek)
[meta]: <date> (April 13 2021)
[meta]: <tags> (software, open source, server, phone)
[meta]: <cover> (/img/software.png)

## PC software

All of the software on this page is cool and I think you should try it. I also
use all of this software, and will update this page when I find new, *even
cooler* software to use instead. Most if not all of my configuration files
(dotfiles) are on my [github](https://github.com/lonkaars/dotfiles). You can
clone these and edit them to fit your needs, or you can use them as a reference
for when you can't figure out how to configure something.

### Regular software

- **Email client**: [neomutt](https://neomutt.org/). It's fast and simple,
  though configuring it was a pain in the ass. I'm currently using it in
  combination with mbsync and imapnotify to get notifications for new emails,
  and sync my mailbox for fast email viewing.

- **Music player**: [mpd](https://www.musicpd.org/) with
  [ncmpcpp](https://github.com/ncmpcpp/ncmpcpp). This is the best music setup
  I've ever used. I download all my music in .flac format and mpd *just works*.
  Since mpd has a server-client structure, I could also use this to set up
  multiple devices that can add music to a central queue at a party or
  something, but I just use it to launch [an fzf mpc
  wrapper](https://github.com/DanielFGray/fzf-scripts/blob/master/fzmp) to
  quickly add music while I'm doing something else.

- **Text editor**: [nvim](https://neovim.io/). It's vim. If you don't like vim,
  you should try using it longer. If you still don't like vim, you can use
  [code oss](https://appimage.github.io/Code_OSS/) which is visual studio code
  but without Microsoft's creepy telemetry features.

- **PDF viewer**: [zathura](https://pwmt.org/projects/zathura/). It's a pdf
  viewer with vim bindings, and it works with my TeX editing setup's live
  reload thingy.

- **Image viewer**: [sxiv](https://github.com/muennich/sxiv). It's like zathura
  but for images, but it also does a bunch of other stuff that I don't use very
  often.

- **Browser**: [brave](https://brave.com/). It's a normie-friendly chromium
  fork with extra privacy features! I of course use brave (or any
  chromium-based browser) with [tampermonkey](https://www.tampermonkey.net/),
  [ublock origin](https://ublockorigin.com/),
  [stylus](https://github.com/openstyles/stylus) and [dark
  reader](https://darkreader.org/).

- **Terminal**: [st](https://st.suckless.org/). It's fast and simple, nothing
  to complain about. I have my [own st fork](https://github.com/lonkaars/st),
  with a bunch of patches that make me happy.

- **Password manager**: [bitwarden](https://bitwarden.com/). Open source
  password manager that you can host yourself. It also has public servers which
  are mostly free, but some features like time-based one-time passwords are
  paid. All the clients are also open source.

- **Document typesetting**: [LaTeX](https://www.latex-project.org/) (using
  [latexmk](https://personal.psu.edu/~jcc8/software/latexmk/) with the
  [XeTeX](http://xetex.sourceforge.net/) compiler).

- **File browser**: [ranger](https://github.com/ranger/ranger). It's kind of
  slow, but I use the bulkrename feature very often, and I haven't gotten used
  to the perl `rename` script yet.

- [unar](https://github.com/MacPaw/XADMaster). I like running `unar [archive]`
  instead of using `7z`, `tar`, `unzip`, etc. It creates a new folder to unpack
  to automatically so it does exactly what I need.

### OS stuff

- **Window manager**: [i3-gaps](https://github.com/Airblader/i3). I tried it
  once and didn't switch back so this is a winner I guess. I've also heard good
  things about [dwm](https://dwm.suckless.org/), though I haven't used it
  myself. Most people complain about i3's limited configurability, but I
  haven't ran into something that it doesn't do for me.

- **Application launcher**: [rofi](https://github.com/davatorium/rofi). I've
  been using rofi since I started using linux, and haven't switched to anything
  else because it's *very* configurable, and has a dmenu mode for using it
  instead of dmenu with other scripts. I use it primarily as my application
  launcher, but I also have a hotkey setup to launch `bwmenu` which is a script
  that fills in bitwarden passwords using rofi.

- **Shell**: [zsh](https://www.zsh.org/) with [oh-my-zsh](https://ohmyz.sh/).
  It's zsh, all the cool kids use it already. I do have `/usr/bin/sh` `ln -s`'d
  to `/usr/bin/bash`, but I'd like to change that to `/usr/bin/dash`. Eh, I'll
  get around to it someday.

- **Status Bar**: [polybar](https://github.com/polybar/polybar). Simple bar,
  gets the job done, the configuration files make me go insane though. It took
  me a good half year of ricing to understand the polybar configuration files,
  and I'm still not sure if I do.

- **Notification daemon**: [dunst](https://dunst-project.org/). I used to use
  deadd-notification-center, but that has waaaay too many haskell dependencies
  on arch, so I don't use that anymore.

- **Global keybinds**:
  [xbindkeys](https://www.nongnu.org/xbindkeys/xbindkeys.html). Simple
  configuration, works flawlessly, 10/10.

- **Compositor**: [picom](https://github.com/yshui/picom). It's a simple
  compositor. I use it to enable vsync for desktop windows, and I have it set
  up to only show a drop shadow on floating i3 windows.

### Closed source

- [discord](https://discord.com/). Gamer. The only reason this is listed here
  is because I use discord with
  [betterdiscord](https://github.com/rauenzi/BetterDiscordApp) (which *is*
  open-source). Betterdiscord allows you to use custom css themes, custom
  plugins and a whole bunch of other cool stuff that regular discord doesn't
  do. It's technically against TOS, but I don't really care as I only use
  quality of life improvement plugins.

- [figma](https://figma.com). It's the designing software that I use to create
  user interface or website mockups. It's easily accessible though a browser,
  and it uses webassembly so it's also decently fast. It's free for personal
  use.

## Server software

This is the software that runs on my home server.

### Email

I used [Luke Smith's](http://lukesmith.xyz/)
[emailwiz](https://github.com/LukeSmithxyz/emailwiz) to set up my email server.
The script installs and configures an email setup with
[postfix](http://www.postfix.org/), [dovecot](https://www.dovecot.org/),
[spamassassin](https://spamassassin.apache.org/) and
[opendkim](http://www.opendkim.org/).

### Etesync

I run my own [etesync](https://www.etesync.com/) server for synchronizing my
to-do lists, calendar and contacts. It's relatively easy to set up, and has a
web interface that you can use with your own self-hosted instance.

### Bitwarden

I also run my own [bitwarden](https://github.com/bitwarden/server) server. It
uses docker with docker-compose, which are two things that I'm supposed to know
about, but I don't.

I'm working on a connect 4 website myself, and I'm planning on learning to use
docker with docker-compose to make it easier to run the seperate parts that are
needed to host the project.

### Git

I have a [cgit](https://git.zx2c4.com/cgit/about/) server to host my git
repositories on <https://git.pipeframe.xyz>, and I use
[gitolite](https://gitolite.com/gitolite/) for ssh git push access. Cgit is
very easy to set up, and I like it very much. Gitolite on the other hand is a
pain in the ass to set up, because the documentation is not that great. If
you're planning on using gitolite on your own server, set the umask in
`~/.gitolite.rc` of your server's git account to `0022`.

### SFTP

I have two semi-public sftp accounts set up on my server: `media` and `sftp`.
`sftp` is for generic file sharing, and `media` is for my media. Both accounts
have tty login disabled and are chroot-jailed to /var/media and /var/sftp.

## Phone apps

### Open source

### Closed source