This project is now deprecated, and is replaced by SoxinOS and my soxincfg.
The old README is available here.
Shabka. Declaritive description of my network, workstations and servers.
Home Page: https://kalbas.it
License: MIT License
It's very odd, but I'm seeing the brightness change as I scroll from the top of a webpage down. Some other people are having the same issue, I need to find out why.
Exception in thread Thread-4:
Traceback (most recent call last):
File "/nix/store/7sbvn0wgv7hsnxpss1jba723kx5nz6d4-python-2.7.15/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/nix/store/7sbvn0wgv7hsnxpss1jba723kx5nz6d4-python-2.7.15/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "/nix/store/8gs9jrpz8g9hmj4cz1326mr8k39y9nyw-python2.7-prompt_toolkit-1.0.15/lib/python2.7/site-packages/prompt_toolkit/interface.py", line 865, in run
completions = list(buffer.completer.get_completions(document, complete_event))
File "/nix/store/rsvy8bnpdninfzm9x3vk8l7a7vsgmzns-mycli-1.6.0/lib/python2.7/site-packages/mycli/sqlcompleter.py", line 255, in get_completions
suggestions = suggest_type(document.text, document.text_before_cursor)
File "/nix/store/rsvy8bnpdninfzm9x3vk8l7a7vsgmzns-mycli-1.6.0/lib/python2.7/site-packages/mycli/packages/completion_engine.py", line 85, in suggest_type
full_text, identifier)
File "/nix/store/rsvy8bnpdninfzm9x3vk8l7a7vsgmzns-mycli-1.6.0/lib/python2.7/site-packages/mycli/packages/completion_engine.py", line 134, in suggest_based_on_last_token
token_v = token.value.lower()
AttributeError: 'tuple' object has no attribute 'value'
I need autorandr setup with my screen as well as with work's screen and meeting rooms.
Removing the YubiKey from my computer should lock the screen.
The easiest way by running xautolock -locknow
as that user from a udev rule. See https://forum.yubico.com/viewtopic5dea-2.html?p=983#p983 and https://github.com/phillipberndt/autorandr/blob/f24910c746b03e968caec9320fd8f8ba2d6c0feb/autorandr.py#L973-L1077
In #142, it's now possible to install NeoVim at the system level. However, I noticed that root has v0.3.4, but yl has v0.3.1.
man home-configuration.nix
:
nixpkgs.config
The configuration of the Nix Packages collection. (For details, see the Nixpkgs documentation.) It allows you to set package configuration options.
If null, then configuration is taken from the fallback location, for example, ~/.config/nixpkgs/config.nix.
Note, this option will not apply outside your Home Manager configuration like when installing manually through nix-env. If you want to apply it both inside and outside Home Manager you can put it in a separate file and include something like
nixpkgs.config = import ./nixpkgs-config.nix;
xdg.configFile."nixpkgs/config.nix".source =
./nixpkgs-config.nix;
in your Home Manager configuration.
Type: null or nixpkgs config
Default: null
Example: { allowBroken = true; }
Declared by:
<home-manager/modules/misc/nixpkgs.nix>
nixpkgs.overlays
List of overlays to use with the Nix Packages collection. (For details, see the Nixpkgs documentation.) It allows you to override packages globally. This is a function that takes as an argument the original Nixpkgs. The first argument should be used for finding dependencies, and the second should be used for overriding recipes.
If null, then the overlays are taken from the fallback location, for example, ~/.config/nixpkgs/overlays.
Like nixpkgs.config this option only applies within the Home Manager configuration. See nixpkgs.config for a suggested setup that works both internally and externally.
Type: null or list of nixpkgs overlays
Default: null
Example:
[ (self: super: {
openssh = super.openssh.override {
hpnSupport = true;
withKerberos = true;
kerberos = self.libkrb5;
};
};
) ]
Declared by:
<home-manager/modules/misc/nixpkgs.nix>
TODO:
~/.config/nixpkgs/home.nix
?nixos-config
? See nix-community/home-manager#97As @worldofpeace pointed out in #81 (comment) nixos-version
displays 18.09pre-git (Jellyfish)
. I believe that's due to the fact that we are getting rid of the .git
folder when it is packaged up as the source in nix-store.
Set wrap=80
on nvim start.
Currently, all externals are downloaded via Git and this has two downsides:
builtins.fetchGit
which does not validate the sha256 and that's a potential MITM attack.This sounds like there's a missing binary.
There's a pretty nice config here by Derek Taylor
I want to be able to load Gnome for presentations if it's easier to present that way. Does that even make sense?
Contents of ~/.nix-defexpr/default.nix
import (builtins.fetchTarball {
# Get latest rev from https://github.com/NixOS/nixpkgs-channels/commits/nixos-unstable
url = "https://github.com/NixOS/nixpkgs-channels/archive/fda46a645c962a7ae01680a0a0e290a6f0b5de1b.tar.gz";
sha256 = "0zf76q5pcxz7qn9hqh3x783qvjiip6zsq2iph55q4wg9kdyhx3zz";
}) {}
While researching #98, I discovered that nvim-completion-manager is now deprecated and has been replaced by ncm2. I should replace it on my side as well.
I'm getting this error ever since I bumped nixpkgs channel a few days ago.
Error detected while processing function <SNR>140_on_core_channel_error:
line 1:
Traceback (most recent call last):
File "/nix/store/j6dvdpnaz9pgn6jz41a14ifb499dzzpz-vimplugin-nvim-completion-manager-2018-07-27/share/vim-plugins/nvim-completion-manager/pythonx/cm_start.py", line 10, in <module>
from cm import getLogger, start_and_run_channel
File "/nix/store/j6dvdpnaz9pgn6jz41a14ifb499dzzpz-vimplugin-nvim-completion-manager-2018-0
7-27/share/vim-plugins/nvim-completion-manager/pythonx/cm.py", line 151
self.nvim.call('cm#complete', name, ctx, startcol, matches, refresh, async=True)
^
SyntaxError: invalid syntax
I tried installing wee-slack through weechat UI, but it kept complaining about Python not finding WebSocket module even though I had it installed:
diff --git a/home.nix b/home.nix
index fada19f..b4e8028 100644
--- a/home.nix
+++ b/home.nix
@@ -129,7 +129,11 @@ in {
nix-zsh-completions
- weechat
+ (weechat.override {
+ extraBuildInputs = with python3Packages; [
+ websocket_client
+ ];
+ })
# Games
_2048-in-terminal
Clever solved this by creating a custom derivation for installing wee-slack. See https://github.com/cleverca22/slack-irc-gateway and https://github.com/cleverca22/nixos-configs/blob/513d66aa8ea0b7ff8f794750f828123641d8d9bf/weechat.nix#L18
Consider the following two files:
a.nix
{
programs.zsh.initExtra = ''
# From A
'';
}
b.nix
{
programs.zsh.initExtra = ''
# From B
'';
}
Somehow, this is ending up with the value
{
programs.zsh.initExtra = ''
# From B
'';
}
This is probably an issue with recImport.
Set it up on i3 and make it floating.
$ xprop
_NET_WM_STATE(ATOM) =
_NET_WM_DESKTOP(CARDINAL) = 8
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
window id # of group leader: 0x6800001
XdndAware(ATOM) = BITMAP
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 109051909
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_USER_TIME(CARDINAL) = 316410765
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x6800004
WM_CLIENT_LEADER(WINDOW): window id # 0x6800001
_NET_WM_PID(CARDINAL) = 30283
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLIENT_MACHINE(STRING) = "hades"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified minimum size: 737 by 826
window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "arandr", "Arandr"
WM_ICON_NAME(STRING) = "Screen Layout Editor"
_NET_WM_ICON_NAME(UTF8_STRING) = "Screen Layout Editor"
WM_NAME(STRING) = "Screen Layout Editor"
_NET_WM_NAME(UTF8_STRING) = "Screen Layout Editor"
This issue blocks #128
I tracked this down to modesetting which seems to be broken on 4.19
When adding a journal entry, every time it's a new text, and I cannot see the previous paragraph. This limitation is especially annoying when I'm in the middle of a thought and have to check things out. I don't want to hide it because then I might forget it and get it lost. I could also wrap Vim with a Rust script to keep saving it periodically instead of doing all of this.
Looks like I have both xss-lock and xautolock running. I have to chose one and kill the other.
bat /var/log/X.0.log
does not page! why?
$ echo $PAGER
less -R
$ which less
less: aliased to /nix/store/cb6szg6m2l7adxgy8y7v7xmb2hhcy516-bat-0.6.1/bin/bat
$ which cat
cat: aliased to /nix/store/cb6szg6m2l7adxgy8y7v7xmb2hhcy516-bat-0.6.1/bin/bat
From man bat
:
--paging <when>
Specify when to use the pager. To control which pager is used, set the PAGER or BAT_PAGER environment variables (the
latter takes precedence). The default pager is 'less'. To disable the pager permanently, set BAT_PAGER to an empty
string. [default: auto] [possible values: auto, never, always]
so I can't use bat as my PAGER?
need R&D
I found the problem: less
was aliased to bat
and bat
was aliased to less
!
I'm getting E117: Unknown function: TSOnBufEnter
even though both tsserver and node are installed.
TODO:
if executable('node')
if executable('tsserver')
even though there's a config for that.TSOnBufEnter
is still undefined, if it is.sudo pacman -S linux
warning: linux-4.18.1.arch1-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
Packages (1) linux-4.18.1.arch1-1
Total Installed Size: 66.89 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [######################################################################################################] 100%
(1/1) checking package integrity [######################################################################################################] 100%
(1/1) loading package files [######################################################################################################] 100%
(1/1) checking for file conflicts [######################################################################################################] 100%
(1/1) checking available disk space [######################################################################################################] 100%
warning: could not get file information for boot/vmlinuz-linux
:: Processing package changes...
(1/1) reinstalling linux [######################################################################################################] 100%
:: Running post-transaction hooks...
(1/3) Updating linux module dependencies...
(2/3) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
-> -k /boot/efi/EFI/arch/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/efi/EFI/arch/initramfs-linux.img
==> ERROR: '/lib/modules/4.17.6-1-ARCH' is not a valid kernel module directory
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
-> -k /boot/efi/EFI/arch/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/efi/EFI/arch/initramfs-linux-fallback.img -S autodetect
==> ERROR: '/lib/modules/4.17.6-1-ARCH' is not a valid kernel module directory
error: command failed to execute correctly
(3/3) Arming ConditionNeedsUpdate...
Basically this is happening because the linux package installs /boot/vmlinuz-linux
, but the mkinitcpio is looking for it under /boot/efi/EFI/arch/vmlinuz-linux
. That's set in /etc/mkinitcpio.d/linux.preset
to support dual booting with NixOS (NixOS manages the EFI boot).
See https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/tmux-plugins/default.nix originally implemented in NixOS/nixpkgs#36790
An example of the config: https://github.com/pjan/nix/blob/8e1096ecbec412f3e00201f807b95f44b0e6305c/config/nix-darwin/modules/tmux.nix
I should be able to nixify init
a project
I should be able to nixify update
a project
location of nixpkgs-version.json
should be given as an argument default to .nixpkgs-version.json
reference of nixpkgs should be given as an argument default to nix-channel unstable
direnv
should be https://github.com/direnv/direnv/wiki/Nix#persistent-cached-shell
Bazel is currently not working because it is not able to download and install Pre-compiled binaries. I want to move Publica to use Nix, but first, I have to make it work by itself. Use this repo as the base project.
home-manager is an example.
This should fix #54 as well.
$ /mnt/container-p2.enc/container-p3.sh
[sudo] password for yl:
* opening the encrypted device /mnt/container-p2.enc/container-p3.enc as container-p3.enc
Device container-p3.enc already exists.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.