|
|
(
repo="bazelbuild/bazel";
raw="https://raw.githubusercontent.com/${repo}";
url="${raw}/master/scripts/zsh_completion/_bazel";
site_functions="/usr/share/zsh/site-functions";
wget "${url}" -O ${site_functions}/_bazel
)
|
Afterwards, restart your ZSH shell session.
This also works if you have bazelisk installed but bazel has to be symlinked to the bazelisk executable path.
I made a mistake when splitting my Portage make.conf file, having it as one file instead of a directly with many small files is a lot easier to maintain.
Portage allows users to split all of files inside /etc/portage such as make.conf, package.use, package.mask and other into groups of files contained in directories of the same name. This is very helpful when using automation to add some wanted configuration. But in case of make.conf it becomes a “form over function” issue.
I would also recommend to keep make.conf as simple as possible, without useless overrides and variable reassignment.
See also:
Bonus: config
And of course, this is my current /etc/portage/make.conf of my main dev machine:
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 |
BINPKG_FORMAT="gpkg"
CCACHE_DIR="/var/cache/ccache"
EMERGE_WARNING_DELAY="0"
LC_MESSAGES="C"
PORTAGE_NICENESS="10"
PORTAGE_WORKDIR_MODE="0775"
PORTAGE_LOGDIR="${EPREFIX}/var/log/portage"
PORTAGE_ELOG_CLASSES="warn error log"
PORTAGE_ELOG_SYSTEM="save"
QUICKPKG_DEFAULT_OPTS="--include-config=y --umask=0003"
MAKEOPTS="--jobs=7 --load-average=6"
COMMON_FLAGS="
-march=znver1 -O2 -falign-functions=32
-fstack-clash-protection -fstack-protector-strong
-fdiagnostics-color=always -frecord-gcc-switches -pipe"
ADAFLAGS="${COMMON_FLAGS}"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
CARGO_TERM_VERBOSE="false"
RUSTFLAGS="-C opt-level=3 -C debuginfo=0"
LDFLAGS="${LDFLAGS} -Wl,--defsym=__gentoo_check_ldflags__=0"
L10N="en de pl"
VIDEO_CARDS="amdgpu radeon radeonsi"
CPU_FLAGS_X86="
aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt
sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3"
EMERGE_DEFAULT_OPTS="
--binpkg-changed-deps=y --binpkg-respect-use=y
--nospinner --keep-going=y
--jobs=3 --load-average=8"
GENTOO_MIRRORS="
https://mirror.leaseweb.com/gentoo/
https://gentoo.osuosl.org/
https://distfiles.gentoo.org/"
FEATURES="
userpriv usersandbox usersync
downgrade-backup unmerge-backup binpkg-multi-instance buildsyspkg
parallel-fetch parallel-install
ccache
-binpkg-logs -ebuild-locks"
USE="
custom-cflags custom-optimization firmware initramfs vaapi vulkan
-bindist -zeroconf"
|
The dilemma between #Gentoo and #NixOS is this:
The most important value of #Gentoo is configuration/customization and reproducibility comes 2nd.
In case of NixOS those value are reversed. The most important to NixOS is ability to reproduce given setup.
Both of those systems will suit users that value control over their systems very highly (unlike, say, Ubuntu - where the most important value is convenience), but the tie-breaking is between what value out of those two should come 1st.
Imported via Fedimpost from emacs.ch/@xgqt/112581104037953790
Add Flathub-Beta
Add the Flathub-Beta remote repository:
|
|
flatpak remote-add --user flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
|
Install GIMP beta
Install org.gimp.GIMP form flathub-beta:
|
|
flatpak install --assumeyes --user flathub-beta org.gimp.GIMP
|
Run GIMP
If you have other GIMP versions installed you will have to specify the “beta” version with //beta.
|
|
flatpak run org.gimp.GIMP//beta
|
Otherwise you can just run:
|
|
flatpak run org.gimp.GIMP
|
Also, in the desktop menus (like KRunner) this version of GIMP will have (beta) in its name so there is no chance to miss it.
.NET creates the so-called intermediate objects while building .NET projects, those are located in the “bin” and “obj” directories. The default is not very satisfying, primarily because if a program from a different machine or a container modifies those, then any cached file system paths that are encoded in the objects will be broken. But also it is probably mostly a legacy behavior to have them split between “bin” and “obj” directories.
I prefer for them to say in one - ".cache", because that’s that they are - cache. With the following configuration objects will be stored inside the ".cache" directory. Furthermore, the objects produced by the native machine in the “native” subdirectory and the ones produced by container software in “container” subdirectory.
|
|
<PropertyGroup>
<CachePath>.\.cache\native</CachePath>
<CachePath Condition="'$(DOTNET_RUNNING_IN_CONTAINER)' == 'true'">.\.cache\container</CachePath>
<MSBUildProjectExtensionsPath>$(CachePath)\obj\</MSBUildProjectExtensionsPath>
<BaseIntermediateOutputPath>$(CachePath)\obj\</BaseIntermediateOutputPath>
<BaseOutputPath>$(CachePath)\bin\</BaseOutputPath>
</PropertyGroup>
|
If anybody want to go hardcore and cache the intermediate objects based on the RID or architecture triplet, then this can also be done, for example, by adding environment variables to the path.