Add some pending changes
- Author
- Maarten Vangeneugden
- Date
- Oct. 16, 2020, 2:42 p.m.
- Hash
- a864cd3b9c5df386ff63c38ed26ef8d01f616dc0
- Parent
- 344479ab9946a4698073ff3332af1c1e1c4229dd
- Modified files
- .ycm_extra_conf.py
- i3/config
- install.sh
.ycm_extra_conf.py ¶
6 additions and 0 deletions.
View changes Hide changes
1 |
1 |
|
2 |
2 |
import os |
+ |
3 |
# version of Python's been installed (for example: 3.7 -> 3.8), but the YCMD |
+ |
4 |
# server is not updated then, so it expects 3.7, and can't find it. Check the |
+ |
5 |
# logs, and if it complains about that, go to the ycmd folder, and run |
+ |
6 |
# "python build.py --all". |
+ |
7 |
|
+ |
8 |
import os |
3 |
9 |
import ycm_core |
4 |
10 |
|
5 |
11 |
# These are the compilation flags that will be used in case there's no |
6 |
12 |
# compilation database set (by default, one is not set). |
7 |
13 |
flags = [ |
8 |
14 |
'-Wall', |
9 |
15 |
'-Wextra', |
10 |
16 |
'-Werror', |
11 |
17 |
'-Wc++98-compat', |
12 |
18 |
'-Wno-long-long', |
13 |
19 |
'-Wno-variadic-macros', |
14 |
20 |
'-fexceptions', |
15 |
21 |
'-DNDEBUG', |
16 |
22 |
# I try to refrain from having to write C++, so c99 is good for me. |
17 |
23 |
'-std=c', |
18 |
24 |
'-x', |
19 |
25 |
'c', |
20 |
26 |
'-isystem', |
21 |
27 |
'../BoostParts', |
22 |
28 |
'-isystem', |
23 |
29 |
# This path will only work on OS X, but extra paths that don't exist are not |
24 |
30 |
# harmful |
25 |
31 |
'/System/Library/Frameworks/Python.framework/Headers', |
26 |
32 |
'-isystem', |
27 |
33 |
'../llvm/include', |
28 |
34 |
'-isystem', |
29 |
35 |
'../llvm/tools/clang/include', |
30 |
36 |
'-I', |
31 |
37 |
'.', |
32 |
38 |
'-I', |
33 |
39 |
'./ClangCompleter', |
34 |
40 |
'-isystem', |
35 |
41 |
'./tests/gmock/gtest', |
36 |
42 |
'-isystem', |
37 |
43 |
'./tests/gmock/gtest/include', |
38 |
44 |
'-isystem', |
39 |
45 |
'./tests/gmock', |
40 |
46 |
'-isystem', |
41 |
47 |
'./tests/gmock/include', |
42 |
48 |
] |
43 |
49 |
|
44 |
50 |
compilation_database_folder = '' |
45 |
51 |
|
46 |
52 |
if os.path.exists( compilation_database_folder ): |
47 |
53 |
database = ycm_core.CompilationDatabase( compilation_database_folder ) |
48 |
54 |
else: |
49 |
55 |
database = None |
50 |
56 |
|
51 |
57 |
SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ] |
52 |
58 |
|
53 |
59 |
def DirectoryOfThisScript(): |
54 |
60 |
return os.path.dirname( os.path.abspath( __file__ ) ) |
55 |
61 |
|
56 |
62 |
|
57 |
63 |
def MakeRelativePathsInFlagsAbsolute( flags, working_directory ): |
58 |
64 |
if not working_directory: |
59 |
65 |
return list( flags ) |
60 |
66 |
new_flags = [] |
61 |
67 |
make_next_absolute = False |
62 |
68 |
path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ] |
63 |
69 |
for flag in flags: |
64 |
70 |
new_flag = flag |
65 |
71 |
|
66 |
72 |
if make_next_absolute: |
67 |
73 |
make_next_absolute = False |
68 |
74 |
if not flag.startswith( '/' ): |
69 |
75 |
new_flag = os.path.join( working_directory, flag ) |
70 |
76 |
|
71 |
77 |
for path_flag in path_flags: |
72 |
78 |
if flag == path_flag: |
73 |
79 |
make_next_absolute = True |
74 |
80 |
break |
75 |
81 |
|
76 |
82 |
if flag.startswith( path_flag ): |
77 |
83 |
path = flag[ len( path_flag ): ] |
78 |
84 |
new_flag = path_flag + os.path.join( working_directory, path ) |
79 |
85 |
break |
80 |
86 |
|
81 |
87 |
if new_flag: |
82 |
88 |
new_flags.append( new_flag ) |
83 |
89 |
return new_flags |
84 |
90 |
|
85 |
91 |
|
86 |
92 |
def IsHeaderFile( filename ): |
87 |
93 |
extension = os.path.splitext( filename )[ 1 ] |
88 |
94 |
return extension in [ '.h', '.hxx', '.hpp', '.hh' ] |
89 |
95 |
|
90 |
96 |
|
91 |
97 |
def GetCompilationInfoForFile( filename ): |
92 |
98 |
# The compilation_commands.json file generated by CMake does not have entries |
93 |
99 |
# for header files. So we do our best by asking the db for flags for a |
94 |
100 |
# corresponding source file, if any. If one exists, the flags for that file |
95 |
101 |
# should be good enough. |
96 |
102 |
if IsHeaderFile( filename ): |
97 |
103 |
basename = os.path.splitext( filename )[ 0 ] |
98 |
104 |
for extension in SOURCE_EXTENSIONS: |
99 |
105 |
replacement_file = basename + extension |
100 |
106 |
if os.path.exists( replacement_file ): |
101 |
107 |
compilation_info = database.GetCompilationInfoForFile( |
102 |
108 |
replacement_file ) |
103 |
109 |
if compilation_info.compiler_flags_: |
104 |
110 |
return compilation_info |
105 |
111 |
return None |
106 |
112 |
return database.GetCompilationInfoForFile( filename ) |
107 |
113 |
|
108 |
114 |
|
109 |
115 |
def FlagsForFile( filename, **kwargs ): |
110 |
116 |
if database: |
111 |
117 |
# Bear in mind that compilation_info.compiler_flags_ does NOT return a |
112 |
118 |
# python list, but a "list-like" StringVec object |
113 |
119 |
compilation_info = GetCompilationInfoForFile( filename ) |
114 |
120 |
if not compilation_info: |
115 |
121 |
return None |
116 |
122 |
|
117 |
123 |
final_flags = MakeRelativePathsInFlagsAbsolute( |
118 |
124 |
compilation_info.compiler_flags_, |
119 |
125 |
compilation_info.compiler_working_dir_ ) |
120 |
126 |
else: |
121 |
127 |
relative_to = DirectoryOfThisScript() |
122 |
128 |
final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to ) |
123 |
129 |
|
124 |
130 |
return { |
125 |
131 |
'flags': final_flags, |
126 |
132 |
'do_cache': True |
127 |
133 |
} |
128 |
134 |
i3/config ¶
8 additions and 5 deletions.
View changes Hide changes
1 |
1 |
set $mod Mod4 |
2 |
2 |
# Home row direction keys, like vim |
3 |
3 |
set $left h |
4 |
4 |
set $down j |
5 |
5 |
set $up k |
6 |
6 |
set $right l |
7 |
7 |
# Your preferred terminal emulator |
8 |
8 |
set $term urxvt |
9 |
9 |
# Your preferred application launcher |
10 |
10 |
set $menu rofi -show run |
11 |
11 |
|
12 |
12 |
|
13 |
13 |
# start a terminal |
14 |
14 |
bindsym $mod+Return exec $term |
15 |
15 |
|
16 |
16 |
# kill focused window |
17 |
17 |
bindsym $mod+Shift+q kill |
18 |
18 |
|
19 |
19 |
# start your launcher |
20 |
20 |
bindsym $mod+d exec $menu |
21 |
21 |
|
22 |
22 |
# Start GNU Emacs |
23 |
23 |
bindsym $mod+m exec emacsclient -nc -s gnuemacs |
24 |
24 |
|
25 |
25 |
# Mouse+$mod to drag floating windows |
26 |
26 |
floating_modifier $mod |
27 |
27 |
|
28 |
28 |
# Lock screen |
29 |
29 |
bindsym $mod+i exec i3lock-wrapper |
30 |
30 |
|
31 |
31 |
# reload the configuration file |
32 |
32 |
bindsym $mod+Shift+c reload |
33 |
33 |
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) |
34 |
34 |
bindsym $mod+Shift+r restart |
35 |
35 |
# exit i3 (logs you out of your X session) |
36 |
36 |
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" |
37 |
37 |
|
38 |
38 |
# Managing outputs |
39 |
39 |
output eDP-1 { |
40 |
40 |
# My current system doesn't support HiDPI. If I get such a system in the |
41 |
41 |
# future, the following lines can "activate" that. |
42 |
42 |
#scale 2 |
43 |
43 |
#pos 0 0 res 3840x2160 |
44 |
44 |
pos 0 0 res 1920x1080 |
45 |
45 |
# Only thing that this lacks compared to Feh is that this can't deal with |
46 |
46 |
# directories, oh well. |
47 |
47 |
#bg ~/.wallpapers/* stretch |
48 |
48 |
bg ~/.wallpapers/generalp.png stretch |
49 |
49 |
} |
50 |
50 |
|
51 |
- | input 1:1:AT_Translated_Set_2_keyboard { |
+ |
51 |
# xkb_model: Fallback model for now, I don't know mine for sure |
+ |
52 |
# Makes every button exponentially more useful |
+ |
53 |
# Because who really uses capslock |
+ |
54 |
input 1:1:AT_Translated_Set_2_keyboard { |
52 |
55 |
xkb_layout us # Sets keyboard to qwerty, just to be sure |
53 |
- | xkb_model pc105 # Fallback model for now, I don't know mine for sure |
54 |
- | xkb_variant altgr-intl # Makes every button exponentially more useful |
55 |
- | xkb_options caps:swapescape # Because who really uses capslock |
56 |
- | } |
+ |
56 |
xkb_model pc105 |
+ |
57 |
xkb_variant altgr-intl |
+ |
58 |
xkb_options caps:swapescape |
+ |
59 |
} |
57 |
60 |
# |
58 |
61 |
# Moving around: |
59 |
62 |
# |
60 |
63 |
# Move your focus around |
61 |
64 |
bindsym $mod+$left focus left |
62 |
65 |
bindsym $mod+$down focus down |
63 |
66 |
bindsym $mod+$up focus up |
64 |
67 |
bindsym $mod+$right focus right |
65 |
68 |
# or use $mod+[up|down|left|right] |
66 |
69 |
bindsym $mod+Left focus left |
67 |
70 |
bindsym $mod+Down focus down |
68 |
71 |
bindsym $mod+Up focus up |
69 |
72 |
bindsym $mod+Right focus right |
70 |
73 |
|
71 |
74 |
# _move_ the focused window with the same, but add Shift |
72 |
75 |
bindsym $mod+Shift+$left move left |
73 |
76 |
bindsym $mod+Shift+$down move down |
74 |
77 |
bindsym $mod+Shift+$up move up |
75 |
78 |
bindsym $mod+Shift+$right move right |
76 |
79 |
# ditto, with arrow keys |
77 |
80 |
bindsym $mod+Shift+Left move left |
78 |
81 |
bindsym $mod+Shift+Down move down |
79 |
82 |
bindsym $mod+Shift+Up move up |
80 |
83 |
bindsym $mod+Shift+Right move right |
81 |
84 |
# |
82 |
85 |
# Workspaces: |
83 |
86 |
# |
84 |
87 |
# switch to workspace |
85 |
88 |
bindsym $mod+1 workspace 1 |
86 |
89 |
bindsym $mod+2 workspace 2 |
87 |
90 |
bindsym $mod+3 workspace 3 |
88 |
91 |
bindsym $mod+4 workspace 4 |
89 |
92 |
bindsym $mod+5 workspace 5 |
90 |
93 |
bindsym $mod+6 workspace 6 |
91 |
94 |
bindsym $mod+7 workspace 7 |
92 |
95 |
bindsym $mod+8 workspace 8 |
93 |
96 |
bindsym $mod+9 workspace 9 |
94 |
97 |
bindsym $mod+0 workspace 10 |
95 |
98 |
# move focused container to workspace |
96 |
99 |
bindsym $mod+Shift+1 move container to workspace 1 |
97 |
100 |
bindsym $mod+Shift+2 move container to workspace 2 |
98 |
101 |
bindsym $mod+Shift+3 move container to workspace 3 |
99 |
102 |
bindsym $mod+Shift+4 move container to workspace 4 |
100 |
103 |
bindsym $mod+Shift+5 move container to workspace 5 |
101 |
104 |
bindsym $mod+Shift+6 move container to workspace 6 |
102 |
105 |
bindsym $mod+Shift+7 move container to workspace 7 |
103 |
106 |
bindsym $mod+Shift+8 move container to workspace 8 |
104 |
107 |
bindsym $mod+Shift+9 move container to workspace 9 |
105 |
108 |
bindsym $mod+Shift+0 move container to workspace 10 |
106 |
109 |
# Note: workspaces can have any name you want, not just numbers. |
107 |
110 |
# We just use 1-10 as the default. |
108 |
111 |
# |
109 |
112 |
# Layout stuff: |
110 |
113 |
# |
111 |
114 |
# You can "split" the current object of your focus with |
112 |
115 |
# $mod+b or $mod+v, for horizontal and vertical splits |
113 |
116 |
# respectively. |
114 |
117 |
bindsym $mod+b split h |
115 |
118 |
bindsym $mod+v split v |
116 |
119 |
|
117 |
120 |
# Switch the current container between different layout styles |
118 |
121 |
bindsym $mod+s layout stacking |
119 |
122 |
bindsym $mod+w layout tabbed |
120 |
123 |
bindsym $mod+e layout toggle split |
121 |
124 |
|
122 |
125 |
# Make the current focus fullscreen |
123 |
126 |
bindsym $mod+f fullscreen toggle |
124 |
127 |
|
125 |
128 |
# Toggle the current focus between tiling and floating mode |
126 |
129 |
bindsym $mod+Shift+space floating toggle |
127 |
130 |
|
128 |
131 |
# Swap focus between the tiling area and the floating area |
129 |
132 |
bindsym $mod+space focus mode_toggle |
130 |
133 |
|
131 |
134 |
# move focus to the parent container |
132 |
135 |
bindsym $mod+a focus parent |
133 |
136 |
|
134 |
137 |
# I don't use scratchpad, so they're commented out |
135 |
138 |
#bindsym $mod+Shift+minus move scratchpad |
136 |
139 |
#bindsym $mod+minus scratchpad show |
137 |
140 |
|
138 |
141 |
# Resizing containers: |
139 |
142 |
# |
140 |
143 |
mode "resize" { |
141 |
144 |
# left will shrink the containers width |
142 |
145 |
# right will grow the containers width |
143 |
146 |
# up will shrink the containers height |
144 |
147 |
# down will grow the containers height |
145 |
148 |
bindsym $left resize shrink width 10 px or 10 ppt |
146 |
149 |
bindsym $down resize grow height 10 px or 10 ppt |
147 |
150 |
bindsym $up resize shrink height 10 px or 10 ppt |
148 |
151 |
bindsym $right resize grow width 10 px or 10 ppt |
149 |
152 |
|
150 |
153 |
# ditto, with arrow keys |
151 |
154 |
bindsym Left resize shrink width 10 px or 10 ppt |
152 |
155 |
bindsym Down resize grow height 10 px or 10 ppt |
153 |
156 |
bindsym Up resize shrink height 10 px or 10 ppt |
154 |
157 |
bindsym Right resize grow width 10 px or 10 ppt |
155 |
158 |
|
156 |
159 |
# return to default mode |
157 |
160 |
bindsym Return mode "default" |
158 |
161 |
bindsym Escape mode "default" |
159 |
162 |
} |
160 |
163 |
bindsym $mod+r mode "resize" |
161 |
164 |
|
162 |
165 |
# --recursive allows subdirectories to contain wallpapers as well, which is nice |
163 |
166 |
# if you want to organize. |
164 |
167 |
# --randomize chooses a different wallpaper for each screen (and of course, |
165 |
168 |
# randomizes during startup) |
166 |
169 |
# --bg-scale scales the wallpaper to fit the screen, so any 16:9 wallpaper is |
167 |
170 |
# scaled to fit, instead of staying oversized. |
168 |
171 |
#exec_always feh --recursive --randomize --bg-scale ~/.wallpapers/* |
169 |
172 |
exec compton -b |
170 |
173 |
|
171 |
174 |
bar { |
172 |
175 |
swaybar_command waybar |
173 |
176 |
#status_command i3status |
174 |
177 |
font pango:Ubunto 10 |
175 |
178 |
tray_padding 5 |
176 |
179 |
colors { |
177 |
180 |
background #444444 |
178 |
181 |
focused_workspace #F98C0E #F98C0E #333333 |
179 |
182 |
active_workspace #19ea12 #19ea12 #FFFFFF |
180 |
183 |
inactive_workspace #232323 #111111 #888888 |
181 |
184 |
urgent_workspace #D50000 #D50000 #FFFFFF |
182 |
185 |
} |
183 |
186 |
} |
184 |
187 |
|
185 |
188 |
|
186 |
189 |
# Makes my FN buttons work properly. |
187 |
190 |
bindsym XF86AudioRaiseVolume exec amixer -q set Master 5%+ unmute |
188 |
191 |
bindsym XF86AudioLowerVolume exec amixer -q set Master 5%- unmute |
189 |
192 |
#bindsym XF86AudioToggle exec pactl set-sink-mute $(pacmd list-sinks |awk '/* index:/{print $3}') toggle |
190 |
193 |
bindsym XF86AudioMute exec pactl set-sink-mute $(pacmd list-sinks |awk '/* index:/{print $3}') toggle |
191 |
194 |
|
192 |
195 |
bindsym XF86MonBrightnessDown exec light -U 1 |
193 |
196 |
bindsym XF86MonBrightnessUp exec light -A 1 |
194 |
197 |
# Printscreen button |
195 |
198 |
bindsym Print exec grim /tmp/$(date +'%Y-%m-%d-%H%M%S_grim.png') |
196 |
199 |
# Combines grim with slurp for region screenshots |
197 |
200 |
bindsym $mod+Print exec grim -g "$(slurp)"/tmp/$(date+'%Y-%m-%d-%H%M%S_grim.png') |
198 |
201 |
|
199 |
202 |
|
200 |
203 |
# Font settings |
201 |
204 |
font pango:Ubuntu Regular 11 |
202 |
205 |
|
203 |
206 |
# Border settings |
204 |
207 |
hide_edge_borders smart |
205 |
208 |
default_border normal |
206 |
209 |
|
207 |
210 |
# Color settings |
208 |
211 |
|
209 |
212 |
client.focused #F98C0E #F98C0E #ffffff #F98C0E #F98C0E |
210 |
213 |
client.focused_inactive #f9be7a #f9be7a #FFFFFF #f9be7a #f9be7a |
211 |
214 |
client.unfocused #444444 #444444 #FFFFFF #444444 #444444 |
212 |
215 |
client.urgent #D50000 #D50000 #ffffff #D50000 #D50000 |
213 |
216 |
#client.placeholder |
214 |
217 |
|
215 |
218 |
# Stops the mouse defining what the active window is. |
216 |
219 |
focus_follows_mouse no |
217 |
220 |
|
218 |
221 |
# i3-gaps configuration |
219 |
222 |
# |
220 |
223 |
# i3-gaps can only work properly if title bars are completely disabled, which the |
221 |
224 |
# next line is responsible for. |
222 |
225 |
#for_window [class="^.*"] border pixel 5 |
223 |
226 |
|
224 |
227 |
#gaps inner 15 |
225 |
228 |
#gaps outer 5 |
226 |
229 |
# smart_gaps disables gaps if there is only 1 container on the workspace. |
227 |
230 |
#smart_gaps on |
228 |
231 |
# smart_borders does the same thing. If set to "on", it will always disable the |
229 |
232 |
# border if it's the only container on the workspace. If set to "no-gaps", it |
230 |
233 |
# only disables the border if the gap size to the edge of the screen is 0. |
231 |
234 |
#smart_borders no_gaps |
install.sh ¶
39 additions and 2 deletions.
View changes Hide changes
1 |
1 |
# particulary Arch, because that's the best GNU/Linux distro =P |
2 |
2 |
|
3 |
3 |
# The next command will install the software that I'm bound to use on my PC. |
4 |
4 |
sudo pacman -S --noconfirm neovim base-devel mpv openssh emacs |
5 |
5 |
echo "Don't forget to install the keys for SSH!\n" |
6 |
6 |
|
7 |
7 |
# Installing shell data: |
8 |
8 |
sudo pacman -S --noconfirm zsh zsh-completions zsh-grml-config |
9 |
9 |
|
10 |
10 |
# Installing the Noto fonts: |
11 |
11 |
sudo pacman -S --noconfirm noto-fonts noto-fonts-emoji |
12 |
12 |
# Firefox: |
13 |
- | sudo pacman -S --noconfirm firefox-developer-edition |
+ |
13 |
|
+ |
14 |
##### SYSTEM MAITENANCE ##### |
+ |
15 |
# All tools that help with visualizing system parameters and associated other |
+ |
16 |
# interesting stuff. |
+ |
17 |
|
+ |
18 |
# iotop is useful for sorting programs by the amount of disk writes, so you can |
+ |
19 |
# see what programs would benefit from tmpfs. Plus: It can prolong the lifespan |
+ |
20 |
# of SSDs. |
+ |
21 |
sudo pacman -S --noconfirm iotop |
+ |
22 |
|
+ |
23 |
|
+ |
24 |
|
+ |
25 |
##### FIREFOX ##### |
+ |
26 |
# This browser is such a big chunk that it requires its own special treatment. |
+ |
27 |
# Installs the browser itself: |
+ |
28 |
sudo pacman -S --noconfirm firefox-developer-edition |
14 |
29 |
# Uncomment next line for Dutch firefox translations. |
15 |
- | #sudo pacman -S --noconfirm firefox-i18n-nl |
+ |
30 |
# This is a script that puts the Firefox profile stuff in tmpfs, which is RAM, |
+ |
31 |
# providing a significant speedup and reduces disk writes. |
+ |
32 |
# Do note that this is for single profile systems only! |
+ |
33 |
pacaur -S --noconfirm firefox-sync |
+ |
34 |
|
+ |
35 |
# Uncomment next line for Dutch firefox translations, if desired. |
+ |
36 |
#sudo pacman -S --noconfirm firefox-i18n-nl |
16 |
37 |
|
17 |
38 |
# Sound handling (Don't forget to unmute using alsamixer!) |
+ |
39 |
##### GPS/OPENSTREETMAP ##### |
+ |
40 |
echo "Installing an offline OpenStreetMap and GPS system is too complex to do |
+ |
41 |
with a script. Please consult https://wiki.archlinux.org/index.php/GpsDrive for |
+ |
42 |
information if you wish to do so.\n" |
+ |
43 |
|
+ |
44 |
# Sound handling (Don't forget to unmute using alsamixer!) |
18 |
45 |
sudo pacman -S --noconfirm alsa-utils pulseaudio pulseaudio-jack pulseaudio-bluetooth |
19 |
46 |
echo "It's possible that the sound is muted. Unmute using Alsamixer.\n" |
20 |
47 |
|
21 |
48 |
# To easily make use of the AUR, I'll first install Pacaur, which needs some |
22 |
49 |
# special treatment up front: |
23 |
50 |
cd ~/Downloads |
24 |
51 |
wget https://aur.archlinux.org/cgit/aur.git/snapshot/pacaur.tar.gz |
25 |
52 |
tar -x -f pacaur.tar.gz |
26 |
53 |
cd pacaur |
27 |
54 |
makepkg -sri --noconfirm |
28 |
55 |
cd .. |
29 |
56 |
rm -r pacaur |
30 |
57 |
cd ~ |
31 |
58 |
|
32 |
59 |
# Making a directory in which to store all repositories. It's basically a |
33 |
60 |
# repository for repositories =3 |
34 |
61 |
mkdir Repositories |
35 |
62 |
|
36 |
63 |
# Making some common aliases for some pieces of software |
37 |
64 |
alias vi nvim |
38 |
65 |
alias vim nvim |
39 |
66 |
|
40 |
67 |
# Some Python dependencies that need to be installed |
41 |
68 |
pip install paramiko |
42 |
69 |
|
43 |
70 |
# Collecting software from the AUR: |
44 |
71 |
#pacaur -S vim-youcompleteme-git |
45 |
72 |
pacaur -S --noconfirm clojure leiningen # Clojure's 'project manager' thingy + Clojure |
46 |
73 |
# Next line installs all required software for the desktop environment. |
47 |
74 |
pacaur -S i3-gaps feh rofi compton i3lock-wrapper |
48 |
75 |
# Installing Polybar and i3ipc-glib-git because the first one is awesome, the |
49 |
76 |
# second one (allegedly) necessary for i3 interaction for Polybar: |
50 |
77 |
#pacaur -S --noconfirm polybar i3ipc-glib-git # Disabled because I'm back to i3status |
51 |
78 |
# i3blocks optional dependencies: |
52 |
79 |
pacaur -S acpi bc lm_sensors playerctl sysstat |
53 |
80 |
# A terminal emulator: |
54 |
81 |
pacaur -S --noconfirm rxvt-unicode |
55 |
82 |
# Also, DO NOT use Termite. It's an awful thing to work with NeoVim, and slows |
56 |
83 |
# down to a fucking tortoise speed. |
57 |
84 |
|
58 |
85 |
# Now, assuming I'm using the my standard setup for Yabar, I need the JSON |
59 |
86 |
# parser to correctly output my workspace name: |
60 |
87 |
pacaur -S --noconfirm jq |
61 |
88 |
|
62 |
89 |
# Uncomment when there is a driver for the Validity VFS495 138a:003f figerprint |
63 |
90 |
# reader, and still working on that gorgeous laptop: |
64 |
91 |
#pacaur -S --noconfirm fprintd |
65 |
92 |
|
66 |
93 |
pacaur -S --noconfirm rsync # Used for backing up data that can't be done properly with Git |
67 |
94 |
pacaur -S --noconfirm neomutt urlview # Least sucky mail client |
68 |
95 |
|
69 |
96 |
# Installing CRON job services |
70 |
97 |
pacaur -S --noconfirm cronie |
71 |
98 |
# TODO Add a line that makes a symbolic link to my custom Cron file |
72 |
99 |
sudo systemctl enable cronie.service |
73 |
100 |
|
74 |
101 |
pacaur -S --noconfirm irssi # IRC client |
75 |
102 |
pacaur -S --noconfirm ranger w3m # File manager. w3m for image previews |
76 |
103 |
# TODO link ranger/rc.conf and scope.sh symbolically to .config/ranger |
77 |
104 |
|
78 |
105 |
# Fonts |
79 |
106 |
# Now I don't like Ubuntu, but their fonts are amazing. |
80 |
107 |
pacaur -S --noconfirm ttf-ubuntu-font-family ttf-hack ttf-fira-code |
81 |
108 |
|
82 |
109 |
# MPV is used for playing videos, and is required when using the 'Watch with |
83 |
110 |
# MPV' plugin for Firefox. It's way more lightweight, and I don't get why both |
84 |
111 |
# Chrome and Firefox don't do this automatically, and default to software |
85 |
112 |
# decoding instead on the hardware GPU. |
86 |
113 |
pacaur -S --noconfirm mpv youtube-dl-git |
87 |
114 |
|
+ |
115 |
##### PERFORMANCE ##### |
+ |
116 |
# This is mostly stuff about activating performance enhancing options. |
+ |
117 |
|
+ |
118 |
# These lines will tell makepkg to |
+ |
119 |
# 1. Use all available cores for compiling (if possible) |
+ |
120 |
# 2. Move the build process to the /tmp folder, which is on tmpfs --> RAM, |
+ |
121 |
# which can speed up build times |
+ |
122 |
sudo echo 'MAKEFLAGS="-j$(nproc)"' >> /etc/makepkg.conf |
+ |
123 |
sudo echo 'BUILDDIR=/tmp/makepkg' >> /etc/makepkg.conf |
+ |
124 |