Giter Club home page Giter Club logo

configs's Introduction

Hi there ๐Ÿ‘‹

Keybase PGP

Work Status

I'm Charles, a Quebec-based software developer and tech enthusiast. I'm currently most proficient coding in Python(~5 years of professional experience), but I also have some practical knowledge and coding experience in various other languages.

  • Lisps(Scheme, Common Lisp, Racket)
  • Javascript/Typescript
  • Haskell
  • C
  • Lua.

And I love to read and learn on all kinds of programming languages(e.g. Erlang, Elixir, Go, Rust, Scala, Clojure, Ruby, SmallTalk).

I'm a big fan of the functional programming paradigm and try to apply its principles as often as possible(to the extent that the language and context allows) to manage complexity and ensure reliability, modulability and extensibility of software.

I have a particular interest in the open web, open protocols and open standards, networking, language design, developer ergonomics, decentralized and distributed systems and related movements.

I believe in the value of open software and open collaboration in technology(as well as other domains), both for technology developers and owners as well as for technology users(which often is pretty much everyone, as technology shapes and interacts with so much aspects of the social realities).

configs's People

Contributors

drpyser avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

configs's Issues

Support multiple "profiles"

Currently, each top level directory is a set of files that define a set of configurations. Eventually, different (conflicting) sets of configurations could be desired, if different setups are to be experimented, or to version configurations for differnet machines.

To support different, independent sets of configurations,

  • add a top layer in the file hierarchy, each root directory containing the configurations for a particular machine.

Alternative configurations for the same machine could be supported in multiple ways:

  • git branches
  • different roots, e.g. x86-64-nixos-bspwm, x86-64-nixos-i3, x86-64.ubuntu.gnome, ...

Alternatively, or complementary, the definition of a set of configurations for a particular machine state(the "recipe") could be managed separately from the configurations themselves, for example using a script or some declarative tooling(e.g. vagrant, foreman, ansible/chef/puppet/salt).
The configurations could be organized arbitrarily, and the build script would refer to the configuration assets it requires from the repository.

bspwm: custom tagging

window selection is currently implemented through a small python script: https://github.com/DrPyser/configs/blob/master/home/bin/select_window.py

This uses dmenu to provide a list of all windows by title(prepended with an index to help disambiguate between windows with the same title). This works pretty well.

Alternatively, It could be interesting to support window/node selection using custom tags, as with i3's mark feature: https://i3wm.org/docs/userguide.html#vim_like_marks .
It seems to me this would require storing window tag information separately, and implementing command(s) to manipulate that data. Basically, a small wrapper around an sqlite table or equivalent storage backend(e.g. in-memory key/value store). see baskerville/bspwm#1049 .

Alternatively, using intuitively named desktops, and dynamic desktop management, could also help window selection(i.e. web browser windows always go to a web desktop, ...).

Better window attributes icons in polybar

bspwm window state and flags are shown in polybar, to the right of the workspaces.
Currently, they are shown as letters:

label-monocle = M
label-tiled = T
label-fullscreen = F
label-floating = f
label-pseudotiled = Pt
label-locked = L
label-locked-padding = 1
label-locked-foreground = #bd2c40
label-sticky = S
label-sticky-foreground = #fba922
label-private = P
label-private-foreground = #bd2c40
label-marked = m

stow --dotfiles option broken

The --dotfiles options to GNU stow doesn't work well when the target directory exist, it seems.

aspiers/stow#33

Until the issue is resolved, I'll just keep the dotfiles/dot-directories as they are and avoid using the option.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.